public JsonResult CreateJson([Bind(Include = "CuttingSheetId,ProjectId,UserCreate,CreateDate,code")] CuttingSheet cuttingSheet) { if (ModelState.IsValid) { try { var proj = db.Projects.Find(cuttingSheet.ProjectId); proj.ProjectStatusId = 4; cuttingSheet.StampDate = DateTime.Now; cuttingSheet.UserCreate = User.Identity.GetUserName(); db.CuttingSheets.Add(cuttingSheet); db.SaveChanges(); return(Json(cuttingSheet.CuttingSheetId)); } catch (Exception ex) { String errors11 = ex.Message; if (ex.InnerException != null) { errors11 = errors11 + ex.InnerException.Message + " \r\n ";; } return(Json(errors11)); } } return(Json("errors11")); }
public ActionResult Create([Bind(Include = "CuttingSheetId,ProjectId,UserCreate,CreateDate,code")] CuttingSheet cuttingSheet, String[] FileName) { int savefiles = 0; if (ModelState.IsValid) { if (FileName != null && FileName.Count() > 0) { var proj = db.Projects.Find(cuttingSheet.ProjectId); proj.ProjectStatusId = 4; db.CuttingSheets.Add(cuttingSheet); db.SaveChanges(); return(RedirectToAction("Index")); } else { ViewBag.Error = "Please upload Production Sheet"; } } ViewBag.productlist = new SelectList(db.Materials, "MaterialId", "Name"); ViewBag.ProjectId = new SelectList(db.Projects, "ProjectId", "Name", cuttingSheet.ProjectId); ViewBag.date = cuttingSheet.CreateDate; return(View(cuttingSheet)); }
public JsonResult EditJson([Bind(Include = "CuttingSheetId,ProjectId,UserCreate,CreateDate,code")] CuttingSheet cuttingSheet, String[] FileName) { if (ModelState.IsValid) { try { cuttingSheet.StampDate = DateTime.Now; db.Entry(cuttingSheet).State = EntityState.Modified; db.SaveChanges(); RemoveFiles(cuttingSheet.CuttingSheetId); //save uploaded files record if (FileName.Count() > 0) { SaveAttachedFiles(FileName, cuttingSheet.CuttingSheetId); } return(Json(cuttingSheet.CuttingSheetId)); } catch (Exception ex) { String errors11 = ex.Message; if (ex.InnerException != null) { errors11 = errors11 + ex.InnerException.Message + " \r\n ";; } return(Json(errors11)); } } return(Json("errors11")); }
public ActionResult DeleteConfirmed(int id) { CuttingSheet cuttingSheet = db.CuttingSheets.Find(id); db.CuttingSheets.Remove(cuttingSheet); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "CuttingSheetId,ProjectId,UserCreate,CreateDate")] CuttingSheet cuttingSheet) { if (ModelState.IsValid) { db.Entry(cuttingSheet).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.ProjectId = new SelectList(db.Projects, "ProjectId", "Code", cuttingSheet.ProjectId); return(View(cuttingSheet)); }
public JsonResult ApproveJson([Bind(Include = "RequestApprovalId,Name,RequestDate,ApprovalTypeId,QuotationId,CuttingSheetId,details,UserName" + ",SalesManager,BDM,ProductionManager" + ",CoordinatorFull,CoordinatorPartial,CEO,SalesManagerRemarks ,ProductionManagerRemarks,BDMRemarks ,CoordinatorFullRemarks ,CoordinatorPartialRemarks ,CEORemarks ,IsRejected,CoordinatorFullDate" + ",SalesManagerDate,ProductionManagerDate,CoordinatorPartialDate,CEODate,BDMDate")] RequestApproval requestApproval) { requestApproval.IsRejected = false; //if (ModelState.IsValid) { try { db.Entry(requestApproval).State = EntityState.Modified; db.SaveChanges(); }catch (Exception er) { string errors11 = er.Message; return(Json(errors11)); } // send emails List <string> emails = new List <string>(); List <string> CC = new List <string>(); string SubjectForCase = ""; string emailBodys = ""; if (requestApproval.QuotationId != null) { SubjectForCase = "Request for Quotation Approval is Responded"; Quotation q = db.Quotations.Find(requestApproval.QuotationId); emailBodys = "Dear Team, \r\n Your request for approval is responded with the remark " + requestApproval.CoordinatorFullRemarks + " Quotation : " + q.Code + " is created \r\n "; //emailBodys = emailBodys + " company name: " + requestApproval.Quotation.CustomerName + ". for your request details " + requestApproval.details; } else if (requestApproval.CuttingSheetId != null) { SubjectForCase = "Request for CuttingSheet Approval is Responded"; CuttingSheet c = db.CuttingSheets.Find(requestApproval.CuttingSheetId); emailBodys = "Dear Team, \r\n Your request for approval is responded with the remark " + requestApproval.ProductionManagerRemarks + " CuttingSheet : " + c.code + " \r\n "; // emailBodys = emailBodys + " company name:" + requestApproval.CuttingSheet.Customer.CompanyName + ". for your request details " + requestApproval.details; } string username = requestApproval.UserName; string emailCreate = db.Users.Where(r => r.UserName == username).FirstOrDefault().Email; //send to sender if (requestApproval.ProductionManager == true) { emails.Add(emailCreate); } int i = sendEmail(SubjectForCase, emailBodys, emails, CC); return(Json(requestApproval.RequestApprovalId)); } }
public ActionResult PrintNewTable(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } CuttingSheet lpo = db.CuttingSheets.Find(id); //ViewBag.LpoTerms = db.LpoTerms.ToList(); return(View(lpo)); }
// GET: CuttingSheets/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } CuttingSheet cuttingSheet = db.CuttingSheets.Find(id); if (cuttingSheet == null) { return(HttpNotFound()); } return(View(cuttingSheet)); }
public ActionResult Edit([Bind(Include = "CuttingSheetId,ProjectId,UserCreate,CreateDate")] CuttingSheet cuttingSheet) { if (ModelState.IsValid) { db.Entry(cuttingSheet).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } var ProjectList = db.Projects.Where(p => p.AccountApproval == true) .Select(p => new { ProjectId = p.ProjectId, Code = p.Code + " - " + p.Name }); ViewBag.ProjectId = new SelectList(ProjectList, "ProjectId", "Code", cuttingSheet.ProjectId); return(View(cuttingSheet)); }
private void RemoveFiles(int cuttingSheetId) { CuttingSheet cuttingSheet = db.CuttingSheets.Include(c => c.CuttingSheetFiles).Where(c => c.CuttingSheetId == cuttingSheetId).FirstOrDefault(); if (cuttingSheet.CuttingSheetFiles.Count() > 0) { foreach (var file in cuttingSheet.CuttingSheetFiles.ToList()) { CuttingSheetFile cuttingSheetFiles = db.CuttingSheetFiles.Find(file.CuttingSheetFileId); db.CuttingSheetFiles.Remove(cuttingSheetFiles); } db.SaveChanges(); } }
// GET: CuttingSheets/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } CuttingSheet cuttingSheet = db.CuttingSheets.Find(id); if (cuttingSheet == null) { return(HttpNotFound()); } ViewBag.ProjectId = new SelectList(db.Projects, "ProjectId", "Name", cuttingSheet.ProjectId); return(View(cuttingSheet)); }
public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } CuttingSheet cuttingSheet = db.CuttingSheets.Find(id); ViewBag.AttachedFiles = cuttingSheet.CuttingSheetFiles.OrderBy(c => c.Name);; if (cuttingSheet == null) { return(HttpNotFound()); } return(View(cuttingSheet)); }
public ActionResult Create([Bind(Include = "CuttingSheetId,ProjectId,UserCreate,CreateDate,code")] CuttingSheet cuttingSheet, String[] FileName) { if (ModelState.IsValid) { var proj = db.Projects.Find(cuttingSheet.ProjectId); proj.ProjectStatusId = 4; db.CuttingSheets.Add(cuttingSheet); db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.productlist = new SelectList(db.Materials, "MaterialId", "Name"); ViewBag.ProjectId = new SelectList(db.Projects, "ProjectId", "Name", cuttingSheet.ProjectId); return(View(cuttingSheet)); }
public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } CuttingSheet cuttingSheet = db.CuttingSheets.Find(id); if (cuttingSheet == null) { return(HttpNotFound()); } var ProjectList = db.Projects.Where(p => p.AccountApproval == true) .Select(p => new { ProjectId = p.ProjectId, Code = p.Code + " - " + p.Name }); ViewBag.ProjectId = new SelectList(ProjectList, "ProjectId", "Code", cuttingSheet.ProjectId); ViewBag.date = DateTime.Now; ViewBag.ext = FolderPath.allowedExtensions; return(View(cuttingSheet)); }
public ActionResult DeleteConfirmed(int id) { CuttingSheet cuttingSheet = db.CuttingSheets.Find(id); foreach (var file in cuttingSheet.CuttingSheetFiles.ToList()) { db.CuttingSheetFiles.Remove(file); } foreach (CuttingSheetDetail detail in cuttingSheet.CuttingSheetDetails.ToList()) { Material material = materialRepository.GetById(detail.MaterialId); materialRepository.ReleaseReserveQty(material, detail.qty); } db.CuttingSheets.Remove(cuttingSheet); db.SaveChanges(); return(RedirectToAction("Index")); }
public JsonResult EditJson([Bind(Include = "CuttingSheetId,ProjectId,UserCreate,CreateDate,code")] CuttingSheet cuttingSheet) { if (ModelState.IsValid) { try { //cuttingSheet.UserCreate = User.Identity.GetUserName(); db.Entry(cuttingSheet).State = EntityState.Modified; db.SaveChanges(); return(Json(cuttingSheet.CuttingSheetId)); } catch (Exception ex) { String errors11 = ex.Message; if (ex.InnerException != null) { errors11 = errors11 + ex.InnerException.Message + " \r\n ";; } return(Json(errors11)); } } return(Json("errors11")); }
public ActionResult Approve([Bind(Include = "RequestApprovalId,Name,RequestDate,ApprovalTypeId,QuotationId,CuttingSheetId,details,UserName" + ",SalesManager,BDM" + ",CoordinatorFull,CoordinatorPartial,CEO,SalesManagerRemarks ,BDMRemarks ,CoordinatorFullRemarks ,CoordinatorPartialRemarks ,CEORemarks ,IsRejected,CoordinatorFullDate" + ",SalesManagerDate,CoordinatorPartialDate,CEODate,BDMDate")] RequestApproval requestApproval) { if (ModelState.IsValid) { db.Entry(requestApproval).State = EntityState.Modified; db.SaveChanges(); //remove rejection after aprove if (requestApproval.CoordinatorFull || requestApproval.CEO) { requestApproval.IsRejected = false; } //CuttingSheet : ReOpen for Edit if (requestApproval.ApprovalTypeId == 1 || requestApproval.ApprovalTypeId == 3) { if (requestApproval.SalesManager == true && requestApproval.CoordinatorFull == true) { CuttingSheet c = db.CuttingSheets.Find(requestApproval.CuttingSheetId); // c.isLock = false; db.SaveChanges(); } if (requestApproval.CoordinatorFull == true) { CuttingSheet c = db.CuttingSheets.Find(requestApproval.CuttingSheetId); // c.isLock = false; db.SaveChanges(); } if (requestApproval.SalesManager == true && requestApproval.CoordinatorPartial == true && requestApproval.CEO == true) { CuttingSheet c = db.CuttingSheets.Find(requestApproval.CuttingSheetId); // c.isLock = false; db.SaveChanges(); } } else { if (requestApproval.SalesManager == true && requestApproval.CoordinatorFull == true) { Quotation c = db.Quotations.Find(requestApproval.QuotationId); // c.isLock = false; db.SaveChanges(); } if (requestApproval.CoordinatorFull == true) { Quotation c = db.Quotations.Find(requestApproval.QuotationId); // c.isLock = false; db.SaveChanges(); } if (requestApproval.SalesManager == true && requestApproval.CoordinatorPartial == true && requestApproval.CEO == true) { Quotation c = db.Quotations.Find(requestApproval.QuotationId); // c.isLock = false; db.SaveChanges(); } } // send emails List <string> emails = new List <string>(); List <string> CC = new List <string>(); string SubjectForCase = ""; string emailBodys = ""; if (requestApproval.QuotationId != null) { SubjectForCase = "Request for Quotation Approval is Responded"; Quotation q = db.Quotations.Find(requestApproval.QuotationId); emailBodys = "Dear Team, \r\n Your request for approval is responded with the remark " + requestApproval.CoordinatorFullRemarks + " Quotation : " + q.Code + " is created \r\n "; //emailBodys = emailBodys + " company name: " + requestApproval.Quotation.CustomerName + ". for your request details " + requestApproval.details; } else if (requestApproval.CuttingSheetId != null) { SubjectForCase = "Request for CuttingSheet Approval is Responded"; CuttingSheet c = db.CuttingSheets.Find(requestApproval.CuttingSheetId); emailBodys = "Dear Team, \r\n Your request for approval is responded with the remark " + requestApproval.CoordinatorFullRemarks + " CuttingSheet : " + c.code + " \r\n "; // emailBodys = emailBodys + " company name:" + requestApproval.CuttingSheet.Customer.CompanyName + ". for your request details " + requestApproval.details; if (requestApproval.ApprovalTypeId == 3) { CC.Add("*****@*****.**"); } } string username = requestApproval.UserName; string emailCreate = db.Users.Where(r => r.UserName == username).FirstOrDefault().Email; //send to sender if (requestApproval.CoordinatorFull == true) { emails.Add(emailCreate); } //send to sender if (requestApproval.CEO == true) { emails.Add(emailCreate); } if ((requestApproval.CoordinatorFull == false && requestApproval.CoordinatorPartial == false) || requestApproval.SalesManager == true || requestApproval.BDM == true) { emails.Add("*****@*****.**"); } if (requestApproval.CoordinatorPartial == true && requestApproval.CEO == false) { // emails.Add("*****@*****.**"); } int i = sendEmail(SubjectForCase, emailBodys, emails, CC); return(RedirectToAction("Index")); } ViewBag.CuttingSheetId = new SelectList(db.CuttingSheets, "CuttingSheetId", "Code", requestApproval.CuttingSheetId); ViewBag.QuotationId = new SelectList(db.Quotations, "QuotationId", "CustomerName", requestApproval.QuotationId); ViewBag.ApprovalTypeId = new SelectList(db.ApprovalTypes, "ApprovalTypeId", "Name", requestApproval.ApprovalTypeId); return(View(requestApproval)); }
public JsonResult CreateJson([Bind(Include = "RequestApprovalId,Name,RequestDate,ApprovalTypeId,QuotationId,CuttingSheetId,details,UserName,SalesManager,CoordinatorFull,CoordinatorPartial,CEO")] RequestApproval requestApproval) { if (ModelState.IsValid) { try { requestApproval.RequestDate = DateTime.Now; requestApproval.UserName = User.Identity.GetUserName(); try { int PermissionId = db.PermissionUsers.Where(pu => pu.Username == requestApproval.UserName).FirstOrDefault().PermissionId; string PermisssionName = db.Permissions.Find(PermissionId).Name; if (PermisssionName == PermissionNames.Permission_ProductionManager) { requestApproval.ProductionManager = true; } } catch (Exception e) { } db.RequestApprovals.Add(requestApproval); db.SaveChanges(); List <string> emails = new List <string>(); List <string> CC = new List <string>(); string SubjectForCase = ""; string emailBodys = ""; if (requestApproval.CuttingSheetId != null) { //get production manager email string Username = db.PermissionUsers.Where(pu => pu.Permissions.Name == PermissionNames.Permission_ProductionManager).FirstOrDefault().Username; string email = db.Users.Where(u => u.UserName == Username).FirstOrDefault().Email; emails.Add(email); emails.Add("*****@*****.**"); CuttingSheet c = db.CuttingSheets.Find(requestApproval.CuttingSheetId); SubjectForCase = "Extra Issue Material Requested - APPROVAL REQUIRED TO PROCEED WITH THE CHANGES"; emailBodys = "Dear Team, \r\n Your approval is required for CuttingSheet : " + c.code + " \r\n "; emailBodys = emailBodys + " The change requested is " + requestApproval.details; int i = sendEmail(SubjectForCase, emailBodys, emails, CC); //sendEmail1(SubjectForCase, emailBodys,emails); } return(Json(requestApproval.CuttingSheetId)); } catch (Exception ex) { String errors11 = ex.Message; if (ex.InnerException != null) { errors11 = errors11 + ex.InnerException.Message + " \r\n ";; } return(Json(errors11)); } } return(Json("errors11")); }
public ActionResult Create([Bind(Include = "RequestApprovalId,Name,RequestDate,ApprovalTypeId,QuotationId,CuttingSheetId,details,UserName,SalesManager,CoordinatorFull,CoordinatorPartial,CEO")] RequestApproval requestApproval) { if (ModelState.IsValid) { requestApproval.RequestDate = DateTime.Now; requestApproval.UserName = User.Identity.GetUserName(); try { int PermissionId = db.PermissionUsers.Where(pu => pu.Username == requestApproval.UserName).FirstOrDefault().PermissionId; string PermisssionName = db.Permissions.Find(PermissionId).Name; if (PermisssionName == PermissionNames.Permission_BDM) { requestApproval.BDM = true; } if (PermisssionName == PermissionNames.Permission_SalesManager) { requestApproval.SalesManager = true; } } catch (Exception e) { } db.RequestApprovals.Add(requestApproval); db.SaveChanges(); List <string> emails = new List <string>(); List <string> CC = new List <string>(); string SubjectForCase = ""; string emailBodys = ""; if (requestApproval.QuotationId != null) { if (User.IsInRole(RoleNames.ROLE_Coordinator)) { emails.Add("*****@*****.**"); int qid = requestApproval.QuotationId ?? 0; int SalesManId = db.Quotations.Find(qid).SalesManId; try { int SalesTeamId = db.SalesMen.Find(SalesManId).SalesTeams.SalesTeamId; int ReportToId = db.SalesTeam.Find(SalesTeamId).EmployeeId ?? 0; Employee ReportTo = db.Employees.Find(ReportToId); string ReportToUsername = db.EmployeeUsers.Where(e => e.EmployeeId == ReportToId).FirstOrDefault().User; string ReportToEmail = db.Users.Where(u => u.UserName == ReportToUsername).FirstOrDefault().Email; CC.Add(ReportToEmail); } catch (Exception e) { } } //if (User.IsInRole(RoleNames.ROLE_Sales)) //{ // int SalesManId1 = requestApproval.CuttingSheet.SalesManId; // SalesTeam SalesTeam = db.SalesMan.Find(SalesManId1).SalesTeams; // if (SalesTeam.Name == "BDM 1" || SalesTeam.Name == "BDM 2") // { // emails.Add("*****@*****.**"); // } // if (SalesTeam.Name == "Sales Team 1") // { // int ReportToId1 = db.SalesTeam.Find(SalesManId1).EmployeeId ?? 0; // Employee ReportTo1 = db.employees.Find(ReportToId1); // string ReportToUsername1 = db.EmployeeUsers.Where(e => e.EmployeeId == ReportToId1).FirstOrDefault().User; // string ReportToEmail1 = db.Users.Where(u => u.UserName == ReportToUsername1).FirstOrDefault().Email; // emails.Add(ReportToEmail1); // } //} SubjectForCase = "QUOTATION REVISED - APPROVAL REQUIRED TO PROCEED WITH THE CHANGES"; Quotation q = db.Quotations.Find(requestApproval.QuotationId); // emailBodys = "Dear Team, \r\n Your approval is required for " + q.CustomerName + " Quotation : " + q.Code + " \r\n "; emailBodys = emailBodys + " The change requested is " + requestApproval.details; //CC.Add("*****@*****.**"); //get manager of sales //CC.Add("*****@*****.**"); } else { if (requestApproval.CuttingSheetId != null) { CuttingSheet c = db.CuttingSheets.Find(requestApproval.CuttingSheetId); emails.Add("*****@*****.**"); // CC.Add("*****@*****.**"); //get manager of sales //int SalesManId = requestApproval.CuttingSheet.SalesManId; //try //{ // int SalesTeamId = db.SalesMan.Find(SalesManId).SalesTeams.SalesTeamId; // int ReportToId = db.SalesTeam.Find(SalesTeamId).EmployeeId ?? 0; // Employee ReportTo = db.employees.Find(ReportToId); // string ReportToUsername = db.EmployeeUsers.Where(e => e.EmployeeId == ReportToId).FirstOrDefault().User; // string ReportToEmail = db.Users.Where(u => u.UserName == ReportToUsername).FirstOrDefault().Email; // CC.Add(ReportToEmail); //} //catch (Exception e) { } // CC.Add("*****@*****.**"); SubjectForCase = "CuttingSheet REVISED - APPROVAL REQUIRED TO PROCEED WITH THE CHANGES"; //emailBodys = "Dear Team, \r\n Your approval is required for " + c.Customer.CompanyName + " CuttingSheet : " + c.Code + " \r\n "; emailBodys = emailBodys + " The change requested is " + requestApproval.details; } } //int i = sendEmail(SubjectForCase, emailBodys, emails, CC); //sendEmail1(SubjectForCase, emailBodys,emails); return(RedirectToAction("Index")); } ViewBag.CuttingSheetId = new SelectList(db.CuttingSheets, "CuttingSheetId", "Code", requestApproval.CuttingSheetId); ViewBag.QuotationId = new SelectList(db.Quotations, "QuotationId", "CustomerName", requestApproval.QuotationId); ViewBag.ApprovalTypeId = new SelectList(db.ApprovalTypes, "ApprovalTypeId", "Name", requestApproval.ApprovalTypeId); return(View(requestApproval)); }
public JsonResult CreateJson([Bind(Include = "CuttingSheetId,ProjectId,UserCreate,CreateDate,code")] CuttingSheet cuttingSheet, String[] FileName) { int savefiles = 0; if (ModelState.IsValid) { if (FileName != null && FileName.Count() > 0) { try { //change status of project if (cuttingSheet.ProjectId != null) { var proj = db.Projects.Find(cuttingSheet.ProjectId); proj.ProjectStatusId = 4; } cuttingSheet.StampDate = DateTime.Now; cuttingSheet.UserCreate = User.Identity.GetUserName(); db.CuttingSheets.Add(cuttingSheet); db.SaveChanges(); this.notificationRepository.CreateNotificationAsync(cuttingSheet.CuttingSheetId, NotificationName.onCreateMRF); //file link //save uploaded files record CuttingSheetFile CuttingSheetFile = new CuttingSheetFile(); if (FileName != null) { foreach (string fn in FileName) { string st = "_CuttingSheet " + fn; CuttingSheetFile.CuttingSheetId = cuttingSheet.CuttingSheetId; //String c = db.Customers.Find(contract.CustomerId).CompanyName; CuttingSheetFile.Name = fn; CuttingSheetFile.Path = Path.Combine(Server.MapPath(FolderPath.FolderPathCustomerDoc), st); try { db.CuttingSheetFiles.Add(CuttingSheetFile); db.SaveChanges(); savefiles = 1; } catch (Exception e) { ViewBag.Error += "Files not saved :" + e.Message; log.Error(" ERROR mylog - Error while save file of project " + cuttingSheet.CuttingSheetId + ":" + e.Message + " , stacktrace:" + e.StackTrace); } } } return(Json(cuttingSheet.CuttingSheetId)); } catch (Exception ex) { String errors11 = ex.Message; if (ex.InnerException != null) { errors11 = errors11 + ex.InnerException.Message + " \r\n ";; } return(Json(errors11)); } } else { string Error = "Please upload Production Sheet"; return(Json(Error)); } } return(Json("errors11")); }
public JsonResult CreateDetailsJson(List <StockIssueDetail> Details, int id) { string errors11 = ""; int aaa = 0; int test = 0; int eid = 0; float oldQty = 0; StockIssue stockIssue = db.StockIssues.Find(id); StockIssueDetail EP = new StockIssueDetail(); foreach (StockIssueDetail d in Details) { try { EP = new StockIssueDetail(); EP.StockIssueId = int.Parse(d.StockIssueId.ToString()); eid = int.Parse(d.StockIssueId.ToString()); EP.MaterialId = int.Parse(d.MaterialId.ToString()); Material mm = db.Materials.Find(EP.MaterialId); EP.Price = float.Parse(d.Price.ToString()); //calculat Qty var StockIssue = db.StockIssues.Find(eid); if (StockIssue.StockIssueType.Type == MoveType.InStore) { EP.InQty = float.Parse(d.InQty.ToString()); EP.OutQty = 0; //update material qty oldQty = mm.qty ?? 0; mm.qty = oldQty + EP.InQty; } else { EP.InQty = 0; float OldResevedqty = mm.Resevedqty ?? 0; EP.OutQty = float.Parse(d.OutQty.ToString()); //EP.BalanceQty = float.Parse(d.BalanceQty.ToString()); //update material qty oldQty = mm.qty ?? 0; mm.qty = oldQty - EP.OutQty; mm.Resevedqty = OldResevedqty - EP.OutQty; } //calculat Price if (StockIssue.StockIssueType.Type == MoveType.InStore) { if (d.Price != null && d.Price != 0) { EP.Price = float.Parse(d.Price.ToString()); //update material avrgae price mm.latestPrice = EP.Price; float Avg = mm.AvgPrice ?? 0; mm.AvgPrice = (Avg * oldQty + EP.Price * EP.InQty) / (mm.qty); } } db.StockIssueDetails.Add(EP); db.SaveChanges(); } catch (Exception ex) { DeleteConfirmed(eid); test = 1; errors11 = errors11 + ex.Message; if (ex.InnerException != null) { if (ex.InnerException.InnerException != null) { errors11 = errors11 + ex.InnerException.InnerException.Message; } } return(Json(errors11)); } } if (stockIssue.CuttingSheetId != null) { CuttingSheet cuttingSheet = db.CuttingSheets.Find(stockIssue.CuttingSheetId); List <CuttingSheetDetail> cuttingSheetDetails = cuttingSheet.CuttingSheetDetails.ToList(); foreach (CuttingSheetDetail cuttingSheetDetail in cuttingSheetDetails) { float qty = stockIssue.StockIssueDetails.Where(s => s.MaterialId == cuttingSheetDetail.MaterialId).FirstOrDefault().OutQty; cuttingSheetDetail.IssueQty += qty; db.SaveChanges(); } } if (test == 1) { return(Json(errors11)); } return(Json("Cutting Sheet Saved Successfully")); }