예제 #1
0
        public void Validate(Models.AppFixedAssetView data)
        {
            #region kiểm tra chi tiết

            this._metaobject = Services.GlobalMeta.GetMetaObject(this._metalinename);
            this.ValidateLine(data.AppFixedAssetLineTables, data.AppFixedAssetLineTablez);

            #endregion

            #region kiểm tra thuế

            this._metaobject = Services.GlobalMeta.GetMetaObject(this._metavatname);
            this.ValidateVAT(data.AppEquipmentTables, data.AppEquipmentTablez);
            #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 int Insert(Models.AppFixedAssetView data)
        {
            try
            {
                this.Validate(data);

                data.CreatedBy       = GlobalVariant.GetAppUser().UserID;
                data.CreatedDateTime = DateTime.Now;

                SqlParameter[] parameters = ExConvert.Data2SqlParam(data, this._metaobject, this._paramnameoutput).ToArray();
                this._db.Database.ExecuteSqlCommand(this._storeNameI, parameters);

                #region Xử lý line
                this._metaobject = Services.GlobalMeta.GetMetaObject(this._metalinename);

                var AppFixedAssetLineTables = data.AppFixedAssetLineTables.ToList();
                var AppFixedAssetLineTablez = data.AppFixedAssetLineTablez.ToList();
                for (int i = 0; i < AppFixedAssetLineTables.Count; i++)
                {
                    var itemz = AppFixedAssetLineTablez[i];
                    if (itemz != -1)
                    {
                        var item = AppFixedAssetLineTables[i];
                        item.FixedAssetID = data.FixedAssetID;
                        this.InsertLine(item);
                    }
                }

                #endregion

                #region Xử lý VAT
                if (data.AppEquipmentTables != null)
                {
                    this._metaobject = Services.GlobalMeta.GetMetaObject(this._metavatname);

                    var AppEquipmentTables = data.AppEquipmentTables.ToList();
                    var AppEquipmentTablez = data.AppEquipmentTablez.ToList();
                    for (int i = 0; i < AppEquipmentTables.Count; i++)
                    {
                        var itemz = AppEquipmentTablez[i];
                        if (itemz != -1)
                        {
                            var item = AppEquipmentTables[i];
                            item.FixedAssetID = data.FixedAssetID;
                            this.InsertVAT(item);
                        }
                    }
                }

                #endregion

                return((int)parameters.GetValueSqlParam(this._paramnameoutput));
            }
            catch (Exception)
            {
                throw;
            }
        }
예제 #3
0
 public ActionResult Edit(int id, Models.AppFixedAssetView collection)
 {
     try
     {
         int outputId = _dataobject.Update(collection);
         return(RedirectToAction(this.ActionReturn()));
     }
     catch (Exception ex)
     {
         Services.GlobalErrors.Parse(ModelState, _dataobject.Errors, ex);
         return(PartialView(this._updateview, collection));
     }
 }
예제 #4
0
        public int Update(Models.AppFixedAssetView data)
        {
            try
            {
                this.Validate(data);

                data.ModifiedBy       = GlobalVariant.GetAppUser().UserID;
                data.ModifiedDateTime = DateTime.Now;

                SqlParameter pOriginal  = ExConvert.ParseSqlParam(data, this._metaobject.GetMetaByColumnName(this._paramnameoutput), this._paramnameupdate);
                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 AppFixedAssetLineTables = data.AppFixedAssetLineTables.ToList();
                var AppFixedAssetLineTablez = data.AppFixedAssetLineTablez.ToList();
                for (int i = 0; i < AppFixedAssetLineTables.Count; i++)
                {
                    var itemz = AppFixedAssetLineTablez[i];
                    var item  = AppFixedAssetLineTables[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.FixedAssetID = data.FixedAssetID;

                        if (item.FixedAssetLineID == 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.FixedAssetLineID > 0)
                        {
                            this.DeleteLine(item.FixedAssetLineID);
                        }
                    }
                }


                #endregion


                #region Xử lý thuế
                if (data.AppEquipmentTables != null)
                {
                    this._metaobject = Services.GlobalMeta.GetMetaObject(this._metavatname);


                    var AppEquipmentTables = data.AppEquipmentTables.ToList();
                    var AppEquipmentTablez = data.AppEquipmentTablez.ToList();
                    for (int i = 0; i < AppEquipmentTables.Count; i++)
                    {
                        var itemz = AppEquipmentTablez[i];
                        var item  = AppEquipmentTables[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.FixedAssetID = data.FixedAssetID;

                            if (item.EquipmentID == 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.EquipmentID > 0)
                            {
                                this.DeleteVAT(item.EquipmentID);
                            }
                        }
                    }
                }


                #endregion

                return(data.FixedAssetID);
            }
            catch (Exception)
            {
                throw;
            }
        }