Пример #1
0
        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");
        }
Пример #2
0
 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));
     }
 }
Пример #3
0
        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;
            }
        }
Пример #4
0
        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;
            }
        }