public void Validate(Models.AppVSO05View data) { #region ki?m tra chi ti?t this._metaobject = Services.GlobalMeta.GetMetaObject(this._metalinename); this.ValidateLine(data.AppVSO05LineViews, data.AppVSO05LineViewz); #endregion #region ki?m tra thu? this._metaobject = Services.GlobalMeta.GetMetaObject(this._metavatname); this.ValidateVAT(data.AppVSO05VATViews, data.AppVSO05VATViewz); #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.AppVSO05View 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.AppVSO05View 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 appvso05lineviews = data.AppVSO05LineViews.ToList(); var appvso05lineviewz = data.AppVSO05LineViewz.ToList(); for (int i = 0; i < appvso05lineviews.Count; i++) { var itemz = appvso05lineviewz[i]; var item = appvso05lineviews[i]; if (itemz != -1) { //có 2 tru?ng h?p: 1 - thêm m?i thu?ng DocumentLineID==0, 2 - s?a d? li?u cu DocumentLineID<>0 item.DocumentID = data.DocumentID; item.AccountDebitLine1ID = data.AccountDebitID; item.MeasureRate = item.MeasureRate ?? 1; item.Quantity = item.Quantity0 * item.MeasureRate; 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 tru?ng h?p : 1 - xóa d? li?u có tru?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.AppVSO05VATViews != null) { this._metaobject = Services.GlobalMeta.GetMetaObject(this._metavatname); var appvso05vatviews = data.AppVSO05VATViews.ToList(); var appvso05vatviewz = data.AppVSO05VATViewz.ToList(); for (int i = 0; i < appvso05vatviews.Count; i++) { var itemz = appvso05vatviewz[i]; var item = appvso05vatviews[i]; if (itemz != -1) { //có 2 tru?ng h?p: 1 - thêm m?i thu?ng DocumentLineID==0, 2 - s?a d? li?u cu 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 tru?ng h?p : 1 - xóa d? li?u có tru?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.AppVSO05View data) { try { data.DocumentID = 0; //Ki?m tra thêm m?i ch?ng t? nhu 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 appvso05lineviews = data.AppVSO05LineViews.ToList(); var appvso05lineviewz = data.AppVSO05LineViewz.ToList(); for (int i = 0; i < appvso05lineviews.Count; i++) { var itemz = appvso05lineviewz[i]; if (itemz != -1) { var item = appvso05lineviews[i]; item.DocumentID = data.DocumentID; item.MeasureRate = item.MeasureRate ?? 1; item.Quantity = item.Quantity0 * item.MeasureRate; item.AccountDebitLine1ID = 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.AppVSO05VATViews != null) { this._metaobject = Services.GlobalMeta.GetMetaObject(this._metavatname); var appvso05vatviews = data.AppVSO05VATViews.ToList(); var appvso05vatviewz = data.AppVSO05VATViewz.ToList(); for (int i = 0; i < appvso05vatviews.Count; i++) { var itemz = appvso05vatviewz[i]; if (itemz != -1) { var item = appvso05vatviews[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; } }