Пример #1
0
        public async Task <JsonResult> EditRealPartNo(EditModel model)
        {
            var product = await db.ProductLanguages.Where(p => p.ProductId == model.id && p.LanguageId == model.langId).Include(p => p.Product.RealPartNos).FirstOrDefaultAsync();

            db.RealPartNos.RemoveRange(product.Product.RealPartNos);
            var newArray = MakeArray(model.array);

            foreach (var item in newArray)
            {
                RealPartNo partNo = new RealPartNo();
                partNo.Name      = item;
                partNo.ProductId = product.ProductId;
                db.RealPartNos.Add(partNo);
                db.SaveChanges();
            }
            return(Json(new { status = 200 }));
        }
Пример #2
0
        public async Task <JsonResult> Add(ProductViewModel model)
        {
            //Check All Models
            foreach (string item in model.Categories)
            {
                if (item == null)
                {
                    return(Json(new { status = 400, errorMessage = "En azi 1 category elave edin" }));
                }
            }


            if (model.Description == "")
            {
                return(Json(new { status = 400, errorMessage = "Description elave edin" }));
            }

            if (model.SubCategory == "")
            {
                return(Json(new { status = 400, errorMessage = "En azi 1 Subcategory elave edin" }));
            }

            if (model.Photo == null)
            {
                return(Json(new { status = 400, errorMessage = "Sekil elave edin" }));
            }

            foreach (string item in model.RealPartNos)
            {
                if (item == null)
                {
                    return(Json(new { status = 400, errorMessage = "En azi 1 realpartno elave edin" }));
                }
            }

            if (model.LanguageId == "")
            {
                return(Json(new { status = 400, errorMessage = "Dil elave edile bilmir" }));
            }



            //Find Language
            Language language    = db.Languages.Where(l => l.Key == model.LanguageId).FirstOrDefault();
            var      sub         = model.SubCategory;
            var      description = model.Description;

            //Make Category and RealPartNo Arrays
            List <string> categories  = MakeArray(model.Categories);
            List <string> realPartNos = MakeArray(model.RealPartNos);


            //Upload Photo
            var photo     = model.Photo;
            var file_name = photo.FileName;
            var path      = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "Uploads", "Products", file_name);

            if (MyFile.isImage(photo))
            {
                await MyFile.Upload(photo, path);
            }

            //Create Product
            Product product = new Product();

            product.SubCategory = await db.SubCategories.Where(s => s.Name == sub).FirstOrDefaultAsync();

            product.PhotoPath = photo.FileName;

            //Creat RealPartNo
            foreach (var realPartNo in realPartNos)
            {
                RealPartNo number = new RealPartNo();
                number.Name    = realPartNo;
                number.Product = product;
                await db.RealPartNos.AddAsync(number);
            }


            //Create Category
            foreach (var item in categories)
            {
                if (item != null)
                {
                    Category category = await db.Categories.Where(c => c.Name == item).FirstOrDefaultAsync();

                    ProductCategory productCategory = new ProductCategory();
                    productCategory.Category = category;
                    productCategory.Product  = product;
                    db.ProductCategories.Add(productCategory);
                }
            }


            //Create MultiLanguage Product
            ProductLanguage productLanguage = new ProductLanguage();

            productLanguage.LanguageId  = language.Id;
            productLanguage.Product     = product;
            productLanguage.Description = model.Description;
            await db.ProductLanguages.AddAsync(productLanguage);

            await db.Products.AddAsync(product);

            await db.SaveChangesAsync();

            return(Json(new { status = 200, message = "Mehsul Elave Edildi" }));
        }