public async Task <IHttpActionResult> InsertValue(AttrebiuteValue attrebiuteValue) { if (!ModelState.IsValid) { return(Json(new { state = false, message = "مقادیر ورودی را بررسی نمائید " })); } if (db.AttrebiuteValues.Any(e => e.Title == attrebiuteValue.Title && e.AttrebiuteId == attrebiuteValue.AttrebiuteId)) { return(Json(new { state = false, message = "مقدار وارد شده برای این ویژگی تکراری می باشد " })); } try { if (!db.Attributes.Any(e => e.AttrebiuteId == attrebiuteValue.AttrebiuteId)) { return(Json(new { state = false, message = "ویژگی یافت نشد " })); } attrebiuteValue.Attrebiute = db.Attributes.Find(attrebiuteValue.AttrebiuteId); attrebiuteValue.IsActive = true; attrebiuteValue.IsDelete = false; attrebiuteValue.UpdateAt = DateTime.Now; attrebiuteValue.CreateAt = DateTime.Now; db.AttrebiuteValues.Add(attrebiuteValue); db.SaveChanges(); //return CreatedAtRoute("DefaultApi", new { id = attrebiute.AttrebiuteId }, attrebiute); return(Json(new { state = true, message = "ثبت ویژگی با موفقیت انجام شد" })); } catch (Exception ex) { return(Json(new { state = false, message = "ثبت ویژگی با خطا مواجه شد" + ex.Message })); } }
public async Task <IHttpActionResult> PostProduct(int id, CreateProductViewModel model) { Product product = new Product(); if (!ModelState.IsValid) { StringBuilder sb = new StringBuilder(); foreach (ModelState modelState in ModelState.Values) { foreach (var item in modelState.Errors) { sb.AppendLine(item.ErrorMessage); } } return(Json(new { status = false, message = sb.ToString() })); } try { //محصول product.Title = model.Title; product.IsActive = model.IsActive; product.Description = model.Description; product.CreateAt = DateTime.Now; product.UpdateAt = DateTime.Now; product.ProductTypeId = id; product.ProductType = db.ProductTypes.Find(id); product.ProductPrices = new List <ProductPrice>(); product.ProductValues = new List <ProductValue>(); //مبلغ محصول ProductPrice price = new ProductPrice(); price.CreateAt = DateTime.Now; price.IsActive = true; price.IsDelete = false; price.Price = model.Price; price.Product = product; price.UpdateAt = DateTime.Now; //ثبت ویژگی های محصول foreach (var item in model.AttrebiuteValues) { if (!db.AttrebiuteValues.Any(e => e.AttrebiuteValueId == item)) { return(Json(new { status = false, message = "مقدار ویژگی یافت نشد" })); } AttrebiuteValue attrebiuteValue = db.AttrebiuteValues.Find(item); Attrebiute attrebiute = db.Attributes.Find(attrebiuteValue.AttrebiuteId); ProductValue productValue = new ProductValue { Product = product, AttrebiuteValue = attrebiuteValue, Attrebiute = attrebiute, AttrebiuteValueId = item }; product.ProductValues.Add(productValue); } product.ProductPrices.Add(price); db.Products.Add(product); db.SaveChanges(); return(Json(new { status = true, message = " محصول با موفقیت ثبت شد" })); } catch (Exception ex) { return(Json(new { status = false, message = "خطا در ثبت محصول" + ex.Message })); } }