دسته بندی
    بسته

    افزودن دستی محصولات با شناسه محصول

    3 سال پیش
    #3808 نقل قول
    سلام به همه،
    ما در حال توسعه یک پلاگین برای وارد کردن محصولات به nopcommerce از وب سرویس، با استفاده از IProductService. InsertProduct )محصول)
    آیا می توانید شناسه محصول ما را وارد کنید؟
    foreach (Article articol in articols)
    {
      //get product
      var product = _productService.GetProductBySku(articol.CODE);

      //check if product exist
      var isNew = (product == null);

      //create or update class product
      product ??= new Product();

      //default attributes
      product.ProductTypeId = (int)ProductType.SimpleProduct;
      product.VisibleIndividually = true;
      product.ManageInventoryMethodId = (int)ManageInventoryMethod.ManageStock;
      product.MarkAsNew = true;

      //add attributes
      product.Id = articol.ID; // IS IT POSSIBLE INSERT THIS ID?
      product.Sku = articol.CODE;
      product.Name = articol.CODE;
      product.ShortDescription = articol.DESCRIPTION : "";
      product.FullDescription = (traduzione != null) ? articol.DESCRIPTION : "";
      product.MetaKeywords = "";
      product.MetaDescription = "";
      product.MetaTitle = "";
      product.Price = 20;
      product.TaxCategoryId = _taxCategoryService.GetTaxCategoryById(1).Id;
      product.StockQuantity = 100;
      product.Length = 1;
      product.Height = 1;
      product.Width = 1;
      product.Weight = 1;
      product.Published = true;
      product.Deleted = false;

      //check if product is new
      if (isNew)
      {
        _productService.InsertProduct(product);
      }
      else
      {
        _productService.UpdateProduct(product);
      }
    }
    0
    3 سال پیش
    #3833 نقل قول
    چرا باید شناسه وارد کنید؟ آیا SKU به اندازه کافی خوب نیست؟
    0
    3 سال پیش
    #3838 نقل قول
    سلام
    برای سازگاری می خواهم از شناسه مشابه برنامه مدیریت استفاده کنم. در لحظه دوم نیز سفارشات را برای بازگشت به وب سرویس صادر می کنم و برنامه فقط شناسه را می پذیرد.
    0
    3 سال پیش
    #3847 نقل قول
    ممکن است امکان پذیر باشد، اما انجام آن آسان نیست. قسمت Id دارای ویژگی IDENTITY است.
    اگر از فیلد دیگری (به عنوان مثال SKU ، GTIN یا ویژگی عمومی) استفاده کنید، آسان تر خواهد بود و سپس سرویس وب فقط مقدار صحیح را ارسال می کند.
    0
    3 سال پیش
    #3859 نقل قول
    از حمایتتان متشکرم. ما در نظر داریم "articol.ID"  را در ویژگی عمومی وارد کنیم.
    //check if product is new
    if (isNew)
    {
      _productService.InsertProduct(product);

      //insert local id in generic
      _genericAttributeService.SaveAttribute<int>(product, "IdCodeLocal", articol.ID);
    }
    else
    {
      _productService.UpdateProduct(product);

    آیا می توان EntityId را با Key و Value بدست آورد ، مانند این؟
    var id = _genericAttributeService.GetAttributeByKeyValue("IdCodeLocal", articol.ID).EntityId;
    0
    3 سال پیش
    #3882 نقل قول
    من بالاخره جواب رو پیدا کردم
    public virtual int GetEntityIdByKeyGroupKeyAndValue(string keyGroup, string key, string value)
            {
                var genericAttribute = _genericAttributeRepository.Table.Where(x => x.KeyGroup == keyGroup && x.Key == key && x.Value == value).FirstOrDefault();
                
                if (genericAttribute == null)
                    return 0;

                return genericAttribute.EntityId;
            }
    0
    3 سال پیش
    #3887 نقل قول
    این پاسخی برای سوال اصلی شما نیست اما راهی برای ارجاع شناسنامه قدیمی شماست
    بنابراین روی Import Product شما قصد دارید رکورد جدیدی را در جدول ویژگی عمومی بنویسید تا بعداً به مقدار شناسه قدیمی دسترسی پیدا کنید.
    یا به طور دقیق تر می توانید از طریق جستجوی جدول ویژگی عمومی به محصول جدید دسترسی پیدا کنید.
    1
    3 سال پیش
    #3895 نقل قول
    بله، حق با شماست. با توجه به اینکه استفاده از شناسه داخلی روش صحیحی نبود، ترجیح دادم برای همگام سازی محصولات از ویژگی های عمومی استفاده کنیم.
    من راه حل خود را برای کمک به دیگران که همان مشکل را دارند ارسال کرده ام.
    0
    3 سال پیش
    #3904 نقل قول
    ممنون از کمک هاتون
    مرسی
    0
    دسته بندی ها