public void Validate(Models.AppVCA01View data) { #region kiểm tra chi tiết this._metaobject = Services.GlobalMeta.GetMetaObject(this._metalinename); this.ValidateLine(data.AppVCA01LineViews, data.AppVCA01LineViewz); #endregion #region kiểm tra thuế this._metaobject = Services.GlobalMeta.GetMetaObject(this._metavatname); this.ValidateVAT(data.AppVCA01VATViews, data.AppVCA01VATViewz); #endregion #region Business logic validate #region Object validate this._metaobject = Services.GlobalMeta.GetMetaObject(this._metaname); this.ValidateMaster(data); #endregion #endregion //if (Errors.Count > 0) throw new InvalidOperationException("lỗi nhập số liệu"); }
public ActionResult Edit(long id, Models.AppVCA01View collection) { // TODO: Add insert logic here try { long outputId = _dataobject.Update(collection); return(RedirectToAction(this.ActionReturn())); } catch (Exception ex) { Services.GlobalErrors.Parse(ModelState, _dataobject.Errors, ex); return(PartialView(this._updateview, collection)); } }
public long Update(Models.AppVCA01View data) { try { this.ValidateUpdate(data); this.Validate(data); data.ModifiedBy = GlobalVariant.GetAppUser().UserID; data.ModifiedDateTime = DateTime.Now; SqlParameter pOriginal = ExConvert.ParseSqlParam(data, this._metaobject.GetMetaByColumnName(this._paramnamemasteroutput), this._paramnamemasterupdate); var parameters = ExConvert.Data2SqlParam(data, this._metaobject, pOriginal).ToArray(); this._db.Database.ExecuteSqlCommand(this._storeNameU, parameters); #region Xử lý line this._metaobject = Services.GlobalMeta.GetMetaObject(this._metalinename); var appvca01lineviews = data.AppVCA01LineViews.ToList(); var appvca01lineviewz = data.AppVCA01LineViewz.ToList(); for (int i = 0; i < appvca01lineviews.Count; i++) { var itemz = appvca01lineviewz[i]; var item = appvca01lineviews[i]; if (itemz != -1) { //có 2 trường hợp: 1 - thêm mới thường DocumentLineID==0, 2 - sửa dữ liệu cũ DocumentLineID<>0 item.DocumentID = data.DocumentID; item.AccountDebitLineID = data.AccountDebitID; if (data.IsoCode == Services.GlobalVariant.GetSysOption()["IsoCode"].ToString()) { item.Debit = 0; item.Credit = 0; item.ExchangeRateLine = 0; item.AmountFC = 0; } if (item.DocumentLineID == 0) { this.InsertLine(item); } else { this.UpdateLine(item); } } else { //nếu xóa có 2 trường hợp : 1 - xóa dữ liệu có trước DocumentLineID<>0, 2 - xóa dữ liệu mới thêm DocumentLineID ==0 if (item.DocumentLineID > 0) { this.DeleteLine(item.DocumentLineID); } } } #endregion #region Xử lý thuế if (data.AppVCA01VATViews != null) { this._metaobject = Services.GlobalMeta.GetMetaObject(this._metavatname); var appvca01vatviews = data.AppVCA01VATViews.ToList(); var appvca01vatviewz = data.AppVCA01VATViewz.ToList(); for (int i = 0; i < appvca01vatviews.Count; i++) { var itemz = appvca01vatviewz[i]; var item = appvca01vatviews[i]; if (itemz != -1) { //có 2 trường hợp: 1 - thêm mới thường DocumentLineID==0, 2 - sửa dữ liệu cũ DocumentLineID<>0 item.DocumentID = data.DocumentID; item.AccountDebitLineID = data.AccountDebitID; if (data.IsoCode == Services.GlobalVariant.GetSysOption()["IsoCode"].ToString()) { item.AmountFC = 0; item.AmountVATFC = 0; } if (item.DocumentVATID == 0) { this.InsertVAT(item); } else { this.UpdateVAT(item); } } else { //nếu xóa có 2 trường hợp : 1 - xóa dữ liệu có trước DocumentLineID<>0, 2 - xóa dữ liệu mới thêm DocumentLineID ==0 if (item.DocumentVATID > 0) { this.DeleteVAT(item.DocumentVATID); } } } } #endregion this._metaobject = Services.GlobalMeta.GetMetaObject(this._metaname); Services.Voucher.PostStoreProcedure(data.VoucherID, data.DocumentID); return(data.DocumentID); } catch (Exception) { throw; } }
public long Insert(Models.AppVCA01View data) { try { data.DocumentID = 0; //Kiểm tra thêm mới chứng từ như trùng số hoặc ngày khóa sổ this.ValidateInsert(data); //Kiểm tra kiểu nhập dữ liệu this.Validate(data); #region xử lý master data.CreatedBy = GlobalVariant.GetAppUser().UserID; data.CreatedDateTime = DateTime.Now; SqlParameter[] parameters = ExConvert.Data2SqlParam(data, this._metaobject, this._paramnamemasteroutput).ToArray(); this._db.Database.ExecuteSqlCommand(this._storeNameI, parameters); data.DocumentID = (long)parameters.GetValueSqlParam(this._paramnamemasteroutput); #endregion #region Xử lý line this._metaobject = Services.GlobalMeta.GetMetaObject(this._metalinename); var appvca01lineviews = data.AppVCA01LineViews.ToList(); var appvca01lineviewz = data.AppVCA01LineViewz.ToList(); for (int i = 0; i < appvca01lineviews.Count; i++) { var itemz = appvca01lineviewz[i]; if (itemz != -1) { var item = appvca01lineviews[i]; item.DocumentID = data.DocumentID; item.AccountDebitLineID = data.AccountDebitID; if (data.IsoCode == Services.GlobalVariant.GetSysOption()["IsoCode"].ToString()) { item.Debit = 0; item.Credit = 0; item.ExchangeRateLine = 0; item.AmountFC = 0; } this.InsertLine(item); } } #endregion #region Xử lý VAT if (data.AppVCA01VATViews != null) { this._metaobject = Services.GlobalMeta.GetMetaObject(this._metavatname); var appvca01vatviews = data.AppVCA01VATViews.ToList(); var appvca01vatviewz = data.AppVCA01VATViewz.ToList(); for (int i = 0; i < appvca01vatviews.Count; i++) { var itemz = appvca01vatviewz[i]; if (itemz != -1) { var item = appvca01vatviews[i]; item.DocumentID = data.DocumentID; item.AccountDebitLineID = data.AccountDebitID; if (data.IsoCode == Services.GlobalVariant.GetSysOption()["IsoCode"].ToString()) { item.AmountFC = 0; item.AmountVATFC = 0; } this.InsertVAT(item); } } } #endregion this._metaobject = Services.GlobalMeta.GetMetaObject(this._metaname); //Post vào sổ sách Services.Voucher.PostStoreProcedure(data.VoucherID, data.DocumentID); //cập nhật số chứng từ Services.Voucher.SaveVoucherNumber(data.VoucherID, data.VoucherNumber); return(data.DocumentID); } catch (Exception) { throw; } }