protected void saveBill_onclick(object sender, EventArgs e) { using (MasterDbContext db = new MasterDbContext()) { // change quantity bill int id_bill = Convert.ToInt32(billID_hint.Value); Bill changeBill = db.Bills.Find(id_bill); double totalQuantity = Convert.ToDouble(getQuantity("SELECT sum(Quantity) FROM Items WHERE CONVERT(DATE, CreatedTime) = CONVERT(DATE, GETDATE()) AND BillID =" + id_bill)); decimal totalPrice = Convert.ToDecimal(getQuantity("SELECT sum(fl.Price*item.Quantity) FROM Items item, Flowers fl WHERE CONVERT(DATE, item.CreatedTime) = CONVERT(DATE, GETDATE()) AND item.FlowerID = fl.ID AND item.BillID =" + id_bill)); changeBill.Quantity += totalQuantity; changeBill.Price += totalPrice; db.Entry(changeBill).State = EntityState.Modified; db.SaveChanges(); ////data of revenue /// query /// var nowDate = DateTime.Now; IQueryable <Revenue> qr = db.Revenues.AsNoTracking(); qr = qr.Where(x => x.CreatedTime <= nowDate && x.CreatedTime >= nowDate.Date); // get decimal quantityDateTypeBuy = Convert.ToDecimal(getQuantity("SELECT ISNULL(Sum(Price), 0) FROM Bills WHERE CONVERT(DATE, CreatedTime) = CONVERT(DATE, GETDATE()) AND Type = 0")); decimal quantityDateTypeSale = Convert.ToDecimal(getQuantity("SELECT ISNULL(Sum(Price), 0) FROM Bills WHERE CONVERT(DATE, CreatedTime) = CONVERT(DATE, GETDATE()) AND Type = 1")); if (qr.Count() <= 0) { Revenue revenue = new Revenue(); revenue.TotalBuy = quantityDateTypeBuy; revenue.TotalSale = quantityDateTypeSale; revenue.QuantityOfDate = quantityDateTypeSale - quantityDateTypeBuy; db.Revenues.Add(revenue); } else { Revenue revenue = qr.FirstOrDefault(); revenue.TotalBuy = quantityDateTypeBuy; revenue.TotalSale = quantityDateTypeSale; revenue.QuantityOfDate = quantityDateTypeSale - quantityDateTypeBuy; // set update db.Entry(revenue).State = EntityState.Modified; } db.SaveChanges(); Response.Redirect("~/Bill/ListBill.aspx"); } }
public int ActivatePost(int postID) { using (MasterDbContext db = new MasterDbContext()) { var post = db.Posts.Find(postID); post.Activate = true; post.CreatedDate = DateTime.Now; db.Entry(post).State = EntityState.Modified; db.SaveChanges(); return(post.ID); } }
public async Task <ResultObject> UpdateVendor(M_Vendor vendor) { var resultObj = new ResultObject { RowAffected = -1, ObjectValue = vendor }; using (var context = new MasterDbContext(contextOptions)) { using (var transaction = context.Database.BeginTransaction()) { try { context.Entry(vendor).State = EntityState.Modified; MySqlParameter[] sqlParams = new MySqlParameter[] { new MySqlParameter("strId", vendor.Id), new MySqlParameter("strVendorCode", vendor.VendorCode), new MySqlParameter("strVendorName", vendor.VendorName), new MySqlParameter("strAddressL1", vendor.AddressL1), new MySqlParameter("strAddressL2", vendor.AddressL2), new MySqlParameter("strAddressL3", vendor.AddressL3), new MySqlParameter("strAddressL4", vendor.AddressL4), new MySqlParameter("strTelephone", vendor.Telephone), new MySqlParameter("strFax", vendor.Fax), new MySqlParameter("strVendorEmail", vendor.VendorEmail), new MySqlParameter("strVendorContact", vendor.VendorContact), new MySqlParameter("strCreditTerm", vendor.CreditTerm), new MySqlParameter("strPriceLevel", vendor.PriceLevel), new MySqlParameter("strVendorTaxId", vendor.VendorTaxId), new MySqlParameter("strRemark", vendor.Remark), new MySqlParameter("strCompanyCode", vendor.CompanyCode), new MySqlParameter("strIs_Active", vendor.Is_Active), new MySqlParameter("strUpdated_By", vendor.Updated_By) }; //Output Parameter no need to define. @`strId` resultObj.RowAffected = await context.Database.ExecuteSqlCommandAsync("call sp_vendor_update(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", parameters : sqlParams); transaction.Commit(); return(resultObj); } catch (Exception ex) { transaction.Rollback(); throw ex; } } } }
public string Put() { MasterDbContext masterDbContext = new MasterDbContext(connString); DanpheHTTPResponse <object> responseData = new DanpheHTTPResponse <object>(); try { string reqType = this.ReadQueryStringData("reqType"); int empId = ToInt(this.ReadQueryStringData("empId")); var files = Request.Form.Files; string ImagePath = null; string ImageName = null; if (files.Count != 0) { // DanpheHTTPResponse <object> uploadResponse = FileUploader.Upload(files, "UserProfile\\"); if (uploadResponse.Status == "OK") { ImagePath = uploadResponse.Results.ToString(); ImageName = files[0].FileName; EmployeeModel dbemp = masterDbContext.Employees.Where(a => a.EmployeeId == empId) .FirstOrDefault <EmployeeModel>(); dbemp.ImageFullPath = ImagePath; dbemp.ImageName = ImageName; masterDbContext.Entry(dbemp).State = EntityState.Modified; responseData.Status = "OK"; masterDbContext.SaveChanges(); responseData.Results = ImageName; } else { throw new Exception("Upload Failed"); } } else { responseData.ErrorMessage = "Upload Failed"; responseData.Status = "Failed"; } } catch (Exception ex) { responseData.Status = "Failed"; responseData.ErrorMessage = ex.Message + " exception details:" + ex.ToString(); } return(DanpheJSONConvert.SerializeObject(responseData, true)); }
public virtual void Detach(TEntity entity) { Assert.NotNull(entity, nameof(entity)); var entry = MasterDbContext.Entry(entity); if (entry != null) { entry.State = EntityState.Detached; } }
public async Task <ResultObject> UpdateMaterial(M_Material mat) { var resultObj = new ResultObject { RowAffected = -1, ObjectValue = mat }; using (var context = new MasterDbContext(contextOptions)) { using (var transaction = context.Database.BeginTransaction()) { try { context.Entry(mat).State = EntityState.Modified; MySqlParameter[] sqlParams = new MySqlParameter[] { new MySqlParameter("strId", mat.Id), new MySqlParameter("strMaterialCode", mat.MaterialCode), new MySqlParameter("strMaterialName", mat.MaterialName), new MySqlParameter("strMaterialDesc1", mat.MaterialDesc1), new MySqlParameter("strMaterialDesc2", mat.MaterialDesc2), new MySqlParameter("strRawMatTypeId", mat.RawMatTypeId), new MySqlParameter("strUnitId", mat.UnitId), new MySqlParameter("strPackageStdQty", mat.PackageStdQty), new MySqlParameter("strWarehouseId", mat.WarehouseId), new MySqlParameter("strLocationId", mat.LocationId), new MySqlParameter("strMaterialImagePath", mat.MaterialImagePath), new MySqlParameter("strCompanyCode", mat.CompanyCode), new MySqlParameter("strIs_Active", mat.Is_Active), new MySqlParameter("strUpdated_By", mat.Updated_By) }; //Output Parameter no need to define. @`strId` resultObj.RowAffected = await context.Database.ExecuteSqlCommandAsync("call sp_material_update(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", parameters : sqlParams); transaction.Commit(); return(resultObj); } catch (Exception ex) { transaction.Rollback(); throw ex; } } } }
//public int UpdateCompany(M_Company comp) //{ // using (var context = new MasterDbContext(contextOptions)) // { // using (var transaction = context.Database.BeginTransaction()) // { // try // { // context.Entry(comp).State = EntityState.Modified; // MySqlParameter[] sqlParams = new MySqlParameter[] { // new MySqlParameter("strId", comp.Id), // new MySqlParameter("strCompanyCode", comp.CompanyCode), // new MySqlParameter("strCompanyName", comp.CompanyName), // new MySqlParameter("strCompanyLogoPath", comp.CompanyLogoPath), // new MySqlParameter("strAddressL1", comp.AddressL1), // new MySqlParameter("strAddressL2", comp.AddressL2), // new MySqlParameter("strAddressL3", comp.AddressL3), // new MySqlParameter("strAddressL4", comp.AddressL4), // new MySqlParameter("strTelephone", comp.Telephone), // new MySqlParameter("strFax", comp.Fax), // new MySqlParameter("strCompanyTaxId", comp.CompanyTaxId), // new MySqlParameter("strIs_Active", comp.Is_Active), // new MySqlParameter("strUpdated_By", comp.Updated_By) // }; // //Output Parameter no need to define. @`strId` // int rowaffected = context.Database.ExecuteSqlCommand("call sp_company_update(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", parameters: sqlParams); // transaction.Commit(); // return rowaffected; // } // catch (Exception ex) // { // transaction.Rollback(); // throw ex; // } // } // } //} public async Task <ResultObject> UpdateCompany(M_Company comp) { var resultObj = new ResultObject { RowAffected = -1, ObjectValue = comp }; using (var context = new MasterDbContext(contextOptions)) { using (var transaction = context.Database.BeginTransaction()) { try { context.Entry(comp).State = EntityState.Modified; MySqlParameter[] sqlParams = new MySqlParameter[] { new MySqlParameter("strId", comp.Id), new MySqlParameter("strCompanyCode", comp.CompanyCode), new MySqlParameter("strCompanyName", comp.CompanyName), new MySqlParameter("strCompanyLogoPath", comp.CompanyLogoPath), new MySqlParameter("strAddressL1", comp.AddressL1), new MySqlParameter("strAddressL2", comp.AddressL2), new MySqlParameter("strAddressL3", comp.AddressL3), new MySqlParameter("strAddressL4", comp.AddressL4), new MySqlParameter("strTelephone", comp.Telephone), new MySqlParameter("strFax", comp.Fax), new MySqlParameter("strCompanyTaxId", comp.CompanyTaxId), new MySqlParameter("strIs_Active", comp.Is_Active), new MySqlParameter("strUpdated_By", comp.Updated_By) }; //Output Parameter no need to define. @`strId` resultObj.RowAffected = await context.Database.ExecuteSqlCommandAsync("call sp_company_update(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", parameters : sqlParams); transaction.Commit(); return(resultObj); } catch (Exception ex) { transaction.Rollback(); throw ex; } } } }
public async Task <ResultObject> UpdateMenu(M_Menu menu) { var resultObj = new ResultObject { RowAffected = -1, ObjectValue = menu }; using (var context = new MasterDbContext(contextOptions)) { using (var transaction = context.Database.BeginTransaction()) { try { context.Entry(menu).State = EntityState.Modified; MySqlParameter[] sqlParams = new MySqlParameter[] { new MySqlParameter("strId", menu.Id), new MySqlParameter("strnameOption", menu.nameOption), new MySqlParameter("strcontroller", menu.controller), new MySqlParameter("straction", menu.action), new MySqlParameter("strimageClass", menu.imageClass), new MySqlParameter("strstatus", menu.status), new MySqlParameter("strisParent", menu.isParent), new MySqlParameter("strparentId", menu.parentId), new MySqlParameter("strarea", menu.area), new MySqlParameter("strmenuseq", menu.menuseq), new MySqlParameter("strIs_Active", menu.Is_Active), new MySqlParameter("strCreated_By", menu.Updated_By) }; //Output Parameter no need to define. @`strId` resultObj.RowAffected = await context.Database.ExecuteSqlCommandAsync("call sp_menu_update(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", parameters : sqlParams); transaction.Commit(); return(resultObj); } catch (Exception ex) { transaction.Rollback(); throw ex; } } } }
public async Task <ResultObject> UpdateUser(M_User user) { var resultObj = new ResultObject { RowAffected = -1, ObjectValue = user }; using (var context = new MasterDbContext(contextOptions)) { using (var transaction = context.Database.BeginTransaction()) { try { context.Entry(user).State = EntityState.Modified; MySqlParameter[] sqlParams = new MySqlParameter[] { new MySqlParameter("strId", user.Id), new MySqlParameter("strUserCode", user.UserCode), new MySqlParameter("strUserName", user.UserName), new MySqlParameter("strEmpCode", user.EmpCode), new MySqlParameter("strDeptId", user.DeptId), new MySqlParameter("strPosition", user.Position), new MySqlParameter("strCompanyCode", user.CompanyCode), new MySqlParameter("straspnetuser_Id", user.aspnetuser_Id), new MySqlParameter("strIs_Active", user.Is_Active), new MySqlParameter("strUpdated_By", user.Updated_By), new MySqlParameter("strUserImagePath", user.UserImagePath) }; //Output Parameter no need to define. @`strId` resultObj.RowAffected = await context.Database.ExecuteSqlCommandAsync("call sp_user_update(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", parameters : sqlParams); transaction.Commit(); return(resultObj); } catch (Exception ex) { transaction.Rollback(); throw ex; } } } }
public async Task <ResultObject> UpdateProcess(M_Process process) { var resultObj = new ResultObject { RowAffected = -1, ObjectValue = process }; using (var context = new MasterDbContext(contextOptions)) { using (var transaction = context.Database.BeginTransaction()) { try { context.Entry(process).State = EntityState.Modified; MySqlParameter[] sqlParams = new MySqlParameter[] { new MySqlParameter("strId", process.Id), new MySqlParameter("strProcessCode", process.ProcessCode), new MySqlParameter("strProcessName", process.ProcessName), new MySqlParameter("strProcessDesc", process.ProcessDesc), new MySqlParameter("strProcessSeq", process.ProcessSeq), new MySqlParameter("strCompanyCode", process.CompanyCode), new MySqlParameter("strIs_Active", process.Is_Active), new MySqlParameter("strCreated_By", process.Updated_By) }; //Output Parameter no need to define. @`strId` resultObj.RowAffected = await context.Database.ExecuteSqlCommandAsync("call sp_process_update(?, ?, ?, ?, ?, ?, ?, ?)", parameters : sqlParams); transaction.Commit(); return(resultObj); } catch (Exception ex) { transaction.Rollback(); throw ex; } } } }
protected void btnSaveClick(object sender, EventArgs e) { using (MasterDbContext db = new MasterDbContext()) { if (Request.QueryString["ID"] != null && string.IsNullOrEmpty(Request.QueryString["ID"].ToString()) == false) { // edit var id = Convert.ToInt32(Request.QueryString["ID"].ToString()); var item = db.Positions.Find(id); if (item != null) { // set data item.Value = txtName.Text; item.UpdatedTime = DateTime.Now; // save db.Entry(item).State = EntityState.Modified; db.SaveChanges(); Response.Redirect("~/Positions/ListPosition.aspx"); } else { Response.Redirect("~/Positions/ListPosition.aspx"); } } else { var pos = new Web.Model.Position(); pos.Value = txtName.Text; pos.Active = true; // save db.Positions.Add(pos); db.SaveChanges(); Response.Redirect("~/Positions/ListPosition.aspx"); } } }
public async Task <ResultObject> UpdateLocation(M_Location loc) { var resultObj = new ResultObject { RowAffected = -1, ObjectValue = loc }; using (var context = new MasterDbContext(contextOptions)) { using (var transaction = context.Database.BeginTransaction()) { try { context.Entry(loc).State = EntityState.Modified; MySqlParameter[] sqlParams = new MySqlParameter[] { new MySqlParameter("strId", loc.Id), new MySqlParameter("strLocationCode", loc.LocationCode), new MySqlParameter("strLocationName", loc.LocationName), new MySqlParameter("strLocationDesc", loc.LocationDesc), new MySqlParameter("strWarehouseId", loc.WarehouseId), new MySqlParameter("strCompanyCode", loc.CompanyCode), new MySqlParameter("strIs_Active", loc.Is_Active), new MySqlParameter("strCreated_By", loc.Updated_By) }; //Output Parameter no need to define. @`strId` resultObj.RowAffected = await context.Database.ExecuteSqlCommandAsync("call sp_location_update(?, ?, ?, ?, ?, ?, ?, ?)", parameters : sqlParams); transaction.Commit(); return(resultObj); } catch (Exception ex) { transaction.Rollback(); throw ex; } } } }
public async Task <ResultObject> UpdateRawMaterialType(M_RawMaterialType rawmatType) { var resultObj = new ResultObject { RowAffected = -1, ObjectValue = rawmatType }; using (var context = new MasterDbContext(contextOptions)) { using (var transaction = context.Database.BeginTransaction()) { try { context.Entry(rawmatType).State = EntityState.Modified; MySqlParameter[] sqlParams = new MySqlParameter[] { new MySqlParameter("strId", rawmatType.Id), new MySqlParameter("strRawMatTypeCode", rawmatType.RawMatTypeCode), new MySqlParameter("strRawMatTypeName", rawmatType.RawMatTypeName), new MySqlParameter("strRawMatTypeDesc", rawmatType.RawMatTypeDesc), new MySqlParameter("strCompanyCode", rawmatType.CompanyCode), new MySqlParameter("strIs_Active", rawmatType.Is_Active), new MySqlParameter("strCreated_By", rawmatType.Updated_By) }; //Output Parameter no need to define. @`strId` resultObj.RowAffected = await context.Database.ExecuteSqlCommandAsync("call sp_rawmaterialtype_update(?, ?, ?, ?, ?, ?, ?)", parameters : sqlParams); transaction.Commit(); return(resultObj); } catch (Exception ex) { transaction.Rollback(); throw ex; } } } }
public int AddOrUpdate(Category cate) { if (cate != null) { using (MasterDbContext db = new MasterDbContext()) { if (cate.ID > 0) { db.Entry(cate).State = System.Data.Entity.EntityState.Modified; } else { db.Categories.Add(cate); } db.SaveChanges(); return(cate.ID); } } return(-1); }
public int AddOrUpdate(Post post) { if (Validate(post)) { using (MasterDbContext db = new MasterDbContext()) { if (post.ID > 0) { db.Entry(post).State = EntityState.Modified; db.SaveChanges(); } else { // add post.CreatedDate = DateTime.Now; var imgs = post.Images; post.Images = null; db.Posts.Add(post); db.SaveChanges(); if (post.ID > 0) { foreach (var img in imgs) { img.PostID = post.ID; db.Images.Add(img); } db.SaveChanges(); } } return(post.ID); } } return(-1); }
public int Delete(int ID) { try { using (MasterDbContext db = new MasterDbContext()) { var data = db.Posts.Find(ID); if (db.Entry(data).State == EntityState.Detached) { db.Posts.Attach(data); } db.Posts.Remove(data); db.SaveChanges(); return(ID); } } catch { } return(-1); }
protected void btnSaveClick(object sender, EventArgs e) { // if co ID thi sua, else add using (MasterDbContext db = new MasterDbContext()) { if (Request.QueryString["ID"] != null && string.IsNullOrEmpty(Request.QueryString["ID"].ToString()) == false) { // edit var id = Convert.ToInt32(Request.QueryString["ID"].ToString()); var item = db.Flowers.Find(id); if (item != null) { // set data item.Name = txtName.Text; item.Price = decimal.Parse(txtPrice.Text); item.Quantity = Convert.ToInt32(txtQuantity.Text); item.TypeID = Convert.ToInt32(typeList.SelectedValue); item.Description = description.InnerText; item.UpdatedTime = DateTime.Now; // upload solving if (image.HasFile) { // kiem tra neu file ko fai file hinh var ext = Path.GetExtension(image.PostedFile.FileName).ToLower(); if (acceptedExt.IndexOf(ext) < 0) { Response.Redirect("~/Flower/ListFlower.aspx"); } // new file name Random rd = new Random(); var fileName = DateTime.Now.ToString("dd_MM_yyyy_hh_mm_ss_") + Common.HashMD5(rd.Next(1, 9999999).ToString()) + ext; // save file image.PostedFile.SaveAs(HttpContext.Current.Server.MapPath("~/Uploads/Flowers/" + fileName)); item.Image = fileName; } // save db.Entry(item).State = EntityState.Modified; db.SaveChanges(); Response.Redirect("~/Flower/ListFlower.aspx"); } else { Response.Redirect("~/Flower/ListFlower.aspx"); } } else { var flower = new Flower(); flower.Name = txtName.Text; flower.Price = decimal.Parse(txtPrice.Text); flower.Quantity = Convert.ToInt32(txtQuantity.Text); flower.TypeID = Convert.ToInt32(typeList.SelectedValue); flower.Description = description.InnerText; // upload solving if (image.HasFile) { // kiem tra neu file ko fai file hinh var ext = Path.GetExtension(image.PostedFile.FileName).ToLower(); if (acceptedExt.IndexOf(ext) < 0) { Response.Redirect("~/Flower/ListFlower.aspx"); } // new file name Random rd = new Random(); var fileName = DateTime.Now.ToString("dd_MM_yyyy_hh_mm_ss_") + Common.HashMD5(rd.Next(1, 9999999).ToString()) + ext; // save file image.PostedFile.SaveAs(HttpContext.Current.Server.MapPath("~/Uploads/Flowers/" + fileName)); flower.Image = fileName; } // save db.Flowers.Add(flower); db.SaveChanges(); Response.Redirect("~/Flower/ListFlower.aspx"); } } }
protected void btnSaveClick(object sender, EventArgs e) { using (MasterDbContext db = new MasterDbContext()) { if (Request.QueryString["ID"] != null && string.IsNullOrEmpty(Request.QueryString["ID"].ToString()) == false) { // edit var id = Convert.ToInt32(Request.QueryString["ID"].ToString()); var item = db.Employees.Find(id); if (item != null) { if (txtPass.Text != txtRePass.Text) { Response.Redirect("~/Staff/UpdateStaff.aspx"); return; } // set data item.Name = txtName.Text; item.Phone = txtPhone.Text; item.Address = txtAdress.Text; item.Password = Common.HashPassword(txtPass.Text, "ps"); item.PositionID = Convert.ToInt32(PositionList.SelectedValue); item.Salary = decimal.Parse(txtSalary.Text); item.UpdatedTime = DateTime.Now; // upload solving if (avatar.HasFile) { // kiem tra neu file ko fai file hinh var ext = Path.GetExtension(avatar.PostedFile.FileName).ToLower(); if (acceptedExt.IndexOf(ext) < 0) { Response.Redirect("~/Staff/ListStaff.aspx"); } // new file name Random rd = new Random(); var fileName = DateTime.Now.ToString("dd_MM_yyyy_hh_mm_ss_") + Common.HashMD5(rd.Next(1, 9999999).ToString()) + ext; // save file avatar.PostedFile.SaveAs(HttpContext.Current.Server.MapPath("~/Uploads/Staff/" + fileName)); item.Avata = fileName; } // save db.Entry(item).State = EntityState.Modified; db.SaveChanges(); Response.Redirect("~/Staff/ListStaff.aspx"); } else { Response.Redirect("~/Staff/ListStaff.aspx"); } } else { if (txtPass.Text != txtRePass.Text) { Response.Redirect("~/Staff/UpdateStaff.aspx"); return; } var staff = new Employee(); staff.Name = txtName.Text; staff.Password = Common.HashPassword(txtPass.Text, "ps"); staff.Phone = txtPhone.Text; staff.Address = txtAdress.Text; staff.PositionID = Convert.ToInt32(PositionList.SelectedValue); staff.Salary = decimal.Parse(txtSalary.Text); // upload solving if (avatar.HasFile) { // kiem tra neu file ko fai file hinh var ext = Path.GetExtension(avatar.PostedFile.FileName).ToLower(); if (acceptedExt.IndexOf(ext) < 0) { Response.Redirect("~/Staff/ListStaff.aspx"); } // new file name Random rd = new Random(); var fileName = DateTime.Now.ToString("dd_MM_yyyy_hh_mm_ss_") + Common.HashMD5(rd.Next(1, 9999999).ToString()) + ext; // save file avatar.PostedFile.SaveAs(HttpContext.Current.Server.MapPath("~/Uploads/Staff/" + fileName)); staff.Avata = fileName; } // save db.Employees.Add(staff); db.SaveChanges(); Response.Redirect("~/Staff/ListStaff.aspx"); } } }
public async Task <ResultObject> UpdateProduct(M_Product prod) { var resultObj = new ResultObject { RowAffected = -1, ObjectValue = prod }; using (var context = new MasterDbContext(contextOptions)) { using (var transaction = context.Database.BeginTransaction()) { try { context.Entry(prod).State = EntityState.Modified; MySqlParameter[] sqlParams = new MySqlParameter[] { new MySqlParameter("strId", prod.Id), new MySqlParameter("strProductCode", prod.ProductCode), new MySqlParameter("strProductName", prod.ProductName), new MySqlParameter("strProductNameRef", prod.ProductNameRef), new MySqlParameter("strProductDesc", prod.ProductDesc), new MySqlParameter("strMaterialTypeId", prod.MaterialTypeId), new MySqlParameter("strProductionTypeId", prod.ProductionTypeId), new MySqlParameter("strMachineId", prod.MachineId), new MySqlParameter("strUnitId", prod.UnitId), new MySqlParameter("strPackageStdQty", prod.PackageStdQty), new MySqlParameter("strSalesPrice1", prod.SalesPrice1), new MySqlParameter("strSalesPrice2", prod.SalesPrice2), new MySqlParameter("strSalesPrice3", prod.SalesPrice3), new MySqlParameter("strSalesPrice4", prod.SalesPrice4), new MySqlParameter("strSalesPrice5", prod.SalesPrice5), new MySqlParameter("strGLSalesAccount", prod.GLSalesAccount), new MySqlParameter("strGLInventAccount", prod.GLInventAccount), new MySqlParameter("strGLCogsAccount", prod.GLCogsAccount), new MySqlParameter("strRevisionNo", prod.RevisionNo), new MySqlParameter("strWarehouseId", prod.WarehouseId), new MySqlParameter("strLocationId", prod.LocationId), new MySqlParameter("strProductImagePath", prod.ProductImagePath), new MySqlParameter("strCompanyCode", prod.CompanyCode), new MySqlParameter("strIs_Active", prod.Is_Active), new MySqlParameter("strUpdated_By", prod.Updated_By) }; //Output Parameter no need to define. @`strId` resultObj.RowAffected = await context.Database.ExecuteSqlCommandAsync("call sp_product_update(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", parameters : sqlParams); if (prod.ProdProcess.Count > 0) { foreach (M_Product_Process prodpro in prod.ProdProcess) { MySqlParameter[] sqlParams2 = new MySqlParameter[] { new MySqlParameter("strProductId", prodpro.ProductId), new MySqlParameter("strProcessId", prodpro.ProcessId), new MySqlParameter("strIs_Active", prodpro.Is_Active), new MySqlParameter("strUpdated_By", prodpro.Updated_By) }; //Output Parameter no need to define. @`strId` resultObj.RowAffected += await context.Database.ExecuteSqlCommandAsync("call sp_product_update_process(?, ?, ?, ?)", parameters : sqlParams2); } } transaction.Commit(); return(resultObj); } catch (Exception ex) { transaction.Rollback(); throw ex; } } } }