public bool UpdateInvoiceS35(InvoiceS35 data) { SqlParameter[] sqlParameters = new SqlParameter[] { new SqlParameter("@InvoiceS35ID", data.InvoiceS35ID), new SqlParameter("@VouchersID", data.VouchersID), new SqlParameter("@CustomerID", data.CustomerID), new SqlParameter("@Description", data.Description), new SqlParameter("@InvoiceFormNo", data.InvoiceFormNo), new SqlParameter("@FormNo", data.FormNo), new SqlParameter("@SerialNo", data.SerialNo), new SqlParameter("@InvoiceNo", data.InvoiceNo), new SqlParameter("@InvoiceType", data.InvoiceType), new SqlParameter("@InvoiceDate", data.InvoiceDate), new SqlParameter("@Amount", data.Amount), new SqlParameter("@VAT", data.VAT), new SqlParameter("@Discounts", data.Discounts), new SqlParameter("@CompanyID", data.CompanyID), new SqlParameter("@PaymentType", data.PaymentType), new SqlParameter("@S35Type", data.S35Type), new SqlParameter("@InvoiceAccountID", data.InvoiceAccountID), new SqlParameter("@InvoiceAccountDetailID", data.InvoiceAccountDetailID), new SqlParameter("@InvoiceVATAccountID", data.InvoiceVATAccountID), new SqlParameter("@MST", data.MST), new SqlParameter("@CustomerName", data.CustomerName), new SqlParameter("@VATAmount", data.VATAmount), new SqlParameter("@StatusLienKet", data.StatusLienKet), new SqlParameter("@UpdateUser", UserInfo.UserID) }; this.Context.ExecuteDataFromProcedure("InvoiceS35Update", sqlParameters); return(true); }
public bool DeleteInvoiceS35(InvoiceS35 data) { SqlParameter[] sqlParameters = new SqlParameter[] { new SqlParameter("@InvoiceS35ID", data.InvoiceS35ID), new SqlParameter("@CompanyID", data.CompanyID), new SqlParameter("@UpdateUser", UserInfo.UserID) }; this.Context.ExecuteDataFromProcedure("InvoiceS35Delete", sqlParameters); return(true); }
public bool SaveInvoiceS35Full(InvoiceS35 dataList, List <InvoiceS35Detail> detailList) { return(this.InvoiceS35Logic.SaveInvoiceS35Full(dataList, detailList)); }
public bool SaveInvoiceS35Full(InvoiceS35 data, List <InvoiceS35Detail> detailData) { using (DbContextTransaction transaction = Context.Database.BeginTransaction()) { try { long seq = InvoiceS35DAO.GetInvoiceS35SEQ(); long seqdetail = InvoiceS35DetailDAO.GetInvoiceS35DetailSEQ(); switch (data.Status) { // Thêm S35 mới thì sẽ thực hiện thêm Detail mới nếu ListDetail có giá trị case ModifyMode.Insert: seq++; data.InvoiceS35ID = GenerateID.InvoiceS35ID(seq); this.InvoiceS35DAO.InsertInvoiceS35(data); if (detailData.Count > 0) { //thêm InvoiceS35Detail #region insert InvoiceS35Detail foreach (InvoiceS35Detail invoiceS35Detail in detailData) { if (string.IsNullOrEmpty(invoiceS35Detail.InvoiceS35DetailID)) { seqdetail++; invoiceS35Detail.InvoiceS35DetailID = GenerateID.InvoiceS35DetailID(seqdetail); invoiceS35Detail.InvoiceS35ID = data.InvoiceS35ID; invoiceS35Detail.CompanyID = data.CompanyID; this.InvoiceS35DetailDAO.InsertInvoiceS35Detail(invoiceS35Detail); } } #endregion insert InvoiceS35Detail } break; //Khi update S35 thì sẽ thực hiện update S35, Thêm mới hoặc update S35 Detail case ModifyMode.Update: this.InvoiceS35DAO.UpdateInvoiceS35(data); if (detailData.Count > 0) { foreach (InvoiceS35Detail invoiceS35Detail in detailData) { //thực hiện nhiệm vụ update với các chi tiết S35 đã thuộc S35 if (invoiceS35Detail.Status == ModifyMode.Update) { #region Update dataDetail if (!string.IsNullOrEmpty(invoiceS35Detail.InvoiceS35DetailID)) { this.InvoiceS35DetailDAO.UpdateInvoiceS35Detail(invoiceS35Detail); } #endregion Update dataDetail } else if (invoiceS35Detail.Status == ModifyMode.Insert) { //thêm mới InvoiceS35Detail vào S35 #region insert InvoiceS35Detail khi thêm detail mới cho S35 đã có sẵn if (string.IsNullOrEmpty(invoiceS35Detail.InvoiceS35DetailID)) { seqdetail++; invoiceS35Detail.InvoiceS35DetailID = GenerateID.InvoiceS35DetailID(seqdetail); invoiceS35Detail.InvoiceS35ID = data.InvoiceS35ID; invoiceS35Detail.CompanyID = data.CompanyID; this.InvoiceS35DetailDAO.InsertInvoiceS35Detail(invoiceS35Detail); } #endregion insert InvoiceS35Detail khi thêm detail mới cho S35 đã có sẵn } } } break; // Delete case ModifyMode.Delete: this.InvoiceS35DAO.DeleteInvoiceS35(data); //Khi delete InvoiceS35 thì DB sẽ tự delete InvoiceS35Detail break; default: //Khi InvoiceS35 không thực thêm, xóa, sửa thì có thể sẽ có thay đổi giá trị S35Detail if (detailData.Count > 0) { foreach (InvoiceS35Detail invoiceS35Detail in detailData) { //thực hiện nhiệm vụ update với các chi tiết S35 đã thuộc S35 if (invoiceS35Detail.Status == ModifyMode.Update) { #region Update dataDetail if (!string.IsNullOrEmpty(invoiceS35Detail.InvoiceS35DetailID)) { this.InvoiceS35DetailDAO.UpdateInvoiceS35Detail(invoiceS35Detail); } #endregion Update dataDetail } else if (invoiceS35Detail.Status == ModifyMode.Insert) { //thêm mới InvoiceS35Detail vào S35 #region insert InvoiceS35Detail khi thêm detail mới cho S35 đã có sẵn if (string.IsNullOrEmpty(invoiceS35Detail.InvoiceS35DetailID)) { seqdetail++; invoiceS35Detail.InvoiceS35DetailID = GenerateID.InvoiceS35DetailID(seqdetail); invoiceS35Detail.InvoiceS35ID = data.InvoiceS35ID; invoiceS35Detail.CompanyID = data.CompanyID; this.InvoiceS35DetailDAO.InsertInvoiceS35Detail(invoiceS35Detail); } #endregion insert InvoiceS35Detail khi thêm detail mới cho S35 đã có sẵn } } } break; } transaction.Commit(); return(true); } catch (Exception ex) { transaction.Rollback(); BSLog.Logger.Error(ex.Message); return(false); } } }