//// POST: VendorRetailer/Create //// To protect from overposting attacks, please enable the specific properties you want to bind to, for //// more details see https://go.microsoft.com/fwlink/?LinkId=317598. //[HttpPost] //[ValidateAntiForgeryToken] //public ActionResult Create([Bind(Include = "Id,Name,Phone,Email,UserType,ContactPerson,EmployeeId")] UserMas userMas) //{ // if (ModelState.IsValid) // { // db.UserMas.Add(userMas); // db.SaveChanges(); // return RedirectToAction("Index"); // } // ViewBag.EmployeeId = new SelectList(db.Employees, "Id", "Name", userMas.EmployeeId); // return View(userMas); //} public JsonResult SaveVendorRetailerOrder(IEnumerable <VMVendorRetailerDet> OrderDetails, VMVendorRetailerMas OrderMas) { var result = new { flag = false, message = "Error occured. !", Id = 0 }; try { using (var dbContextTransaction = db.Database.BeginTransaction()) { try { var OrderM = new UserMas() { Id = 0, Name = OrderMas.Name, Phone = OrderMas.Phone, Email = OrderMas.Email, UserType = 0, ContactPerson = OrderMas.ContactPerson, EmployeeId = OrderMas.EmployeeId, InitialBalance = OrderMas.InitialBalance //Type = OrderMas.ProdDepartmentId, }; db.UserMas.Add(OrderM); db.SaveChanges(); Dictionary <int, int> dictionary = new Dictionary <int, int>(); if (OrderDetails != null) { foreach (var item in OrderDetails) { //var OrderLocation = new Location() //{ // Id = 0, // Name = item.Location, // Cost = item.CarryingCost //}; //db.Location.Add(OrderLocation); //db.SaveChanges(); //var OrderRetailerItems = new VendorRetailerItems() //{ // Id = 0, // UserMasId = OrderM.Id, // ItemId = item.ItemId, // ItemCost = item.UnitPrice //}; //db.VendorRetailerItems.Add(OrderRetailerItems); //db.SaveChanges(); var OrderD = new UserDet() { Id = 0, UserMasId = OrderM.Id, ItemId = item.ItemId, LocationId = item.LocationId, UnitPrice = item.UnitPrice, CarryingCost = item.CarryingCost }; db.UserDet.Add(OrderD); db.SaveChanges(); dictionary.Add(item.TempOrderDetId, OrderD.Id); } } dbContextTransaction.Commit(); result = new { flag = true, message = "Saving successful!!", Id = OrderM.Id }; Success("Record saved successfully.", true); } catch (Exception ex) { dbContextTransaction.Rollback(); result = new { flag = false, message = ex.Message, Id = 0 }; } } } catch (Exception ex) { result = new { flag = false, message = ex.Message, Id = 0 }; } return(Json(result, JsonRequestBehavior.AllowGet)); }
public JsonResult UpdateVendorRetailerOrder(IEnumerable <VMVendorRetailerDet> OrderDetails, VMVendorRetailerMas OrderMas, int[] DelItems) { var result = new { flag = false, message = "Error occured. !" }; //return Json(result, JsonRequestBehavior.AllowGet); try { var OpDate = DateTime.Now; using (var dbContextTransaction = db.Database.BeginTransaction()) { try { var OrderM = db.UserMas.Find(OrderMas.Id); if (OrderM == null) { result = new { flag = false, message = "Invalid Order Id. Saving failed !" }; return(Json(result, JsonRequestBehavior.AllowGet)); } OrderM.Name = OrderMas.Name; OrderM.Phone = OrderMas.Phone; OrderM.Email = OrderMas.Email; OrderM.ContactPerson = OrderMas.ContactPerson; OrderM.EmployeeId = OrderMas.EmployeeId; db.Entry(OrderM).State = EntityState.Modified; db.SaveChanges(); Dictionary <int, int> dictionary = new Dictionary <int, int>(); if (OrderDetails != null) { foreach (var item in OrderDetails) { //var detailIds = (from userDet in db.UserDet // join vendorRetailer in db.VendorRetailerItems on userDet.VendorRetailerItemsId equals vendorRetailer.Id // where vendorRetailer.UserMasId == OrderM.Id // select userDet).SingleOrDefault().LocationId; //var vendorRetId = db.VendorRetailerItems.FirstOrDefault(x => x.UserMasId == OrderM.Id).Id; //var locId = db.UserDet.FirstOrDefault(x => x.VendorRetailerItemsId == vendorRetId).LocationId; //var OrderLocation = new Location() //{ // Id = item.LocationId, // Name = db.Location.SingleOrDefault(x=>x.Id == item.LocationId).Name, // Cost = item.CarryingCost, //}; //Location locations = new Location(); //var locationName = db.Location.Find(item.LocationId).Name; //locations.Id = item.LocationId; //locations.Name = item.Location; //locations.Cost = item.CarryingCost; //db.Entry(locations).State = locations.Id == 0 ? // EntityState.Added : // EntityState.Modified; //var OrderRetailerItems = new VendorRetailerItems() //{ // Id = item.VendorRetailerId, // UserMasId = OrderM.Id, // ItemId = item.ItemId, // ItemCost = item.UnitPrice //}; //db.Entry(OrderRetailerItems).State = OrderRetailerItems.Id == 0 ? // EntityState.Added : // EntityState.Modified; var OrderD = new UserDet() { Id = item.Id, //VendorRetailerItemsId = OrderRetailerItems.Id, UserMasId = OrderM.Id, ItemId = item.ItemId, LocationId = item.LocationId, UnitPrice = item.UnitPrice, CarryingCost = item.CarryingCost }; db.Entry(OrderD).State = OrderD.Id == 0 ? EntityState.Added : EntityState.Modified; //db.BuyerOrderDets.Add(OrderD); db.SaveChanges(); dictionary.Add(item.TempOrderDetId, OrderD.Id); } } //if (DelItems != null) //{ // foreach (var item in DelItems) // { // var userDetDel = db.UserDet.SingleOrDefault(x => x.UserMasId == item); // db.UserDet.Remove(userDetDel); // db.SaveChanges(); // } //} dbContextTransaction.Commit(); result = new { flag = true, message = "Update successful !!" }; Success("Updated successfully.", true); } catch (Exception ex) { dbContextTransaction.Rollback(); result = new { flag = false, message = ex.Message }; } } } catch (Exception ex) { result = new { flag = false, message = ex.Message }; } return(Json(result, JsonRequestBehavior.AllowGet)); }