Beispiel #1
0
        public int Update(Models.SysUserView data)
        {
            try
            {
                this.Validate(data);

                data.ModifiedBy       = GlobalVariant.GetAppUser().UserID;
                data.ModifiedDateTime = DateTime.Now;
                var olddata = GetById(data.UserID);
                if (olddata.Name != data.Name || olddata.Password != data.Password)
                {
                    data.Password = Accounting.Services.MD5.GenerateHashDigest(data.Name + data.Password);
                }

                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);

                return(data.UserID);
            }
            catch (Exception)
            {
                throw;
            }
        }
Beispiel #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;
            }
        }
Beispiel #3
0
        public ActionResult PayOrder(int Id, int status)
        {
            try
            {
                var _data = _dataobject.GetById2(Id);
                _data.OrderStatusId                = status;
                _data.ModifiedBy                   = GlobalVariant.GetAppUser().UserID;
                _data.ModifiedDateTime             = DateTime.Now;
                _dataobject._db.Entry(_data).State = System.Data.Entity.EntityState.Modified;
                _dataobject._db.SaveChanges();

                return(Json(new { ketqua = 1, tableid = _data.TableId ?? 0 }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception)
            {
                return(Json(new { ketqua = 0, tableid = 0 }, JsonRequestBehavior.AllowGet));
            }
        }
Beispiel #4
0
 public int Insert(Models.GapField data)
 {
     try
     {
         this.Validate(data);
         data.CreatedBy       = GlobalVariant.GetAppUser().UserID;
         data.CreatedDateTime = DateTime.Now;
         var _data = new Models.GapField();
         this.MapView2Table(data, _data);
         this._db.GapFields.Add(_data);
         this._db.SaveChanges();
         return(data.FieldId);
     }
     catch (Exception)
     {
         throw;
     }
 }
Beispiel #5
0
        public int Insert(Models.AppExpenseTable 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);

                return((int)parameters.GetValueSqlParam(this._paramnameoutput));
            }
            catch (Exception)
            {
                throw;
            }
        }
Beispiel #6
0
        public int Update(Models.AppExpenseTable 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);

                return(data.ExpenseID);
            }
            catch (Exception)
            {
                throw;
            }
        }
Beispiel #7
0
        public int Update(Models.GapField data)
        {
            try
            {
                this.Validate(data);
                data.ModifiedBy       = GlobalVariant.GetAppUser().UserID;
                data.ModifiedDateTime = DateTime.Now;
                var _data = this.GetById2(data.FieldId);

                this.MapView2Table(data, _data);
                this._db.Entry(_data).State = System.Data.Entity.EntityState.Modified;
                this._db.SaveChanges();

                return(data.FieldId);
            }
            catch (Exception)
            {
                throw;
            }
        }
Beispiel #8
0
        //public string EncryptPassWord(string username,string password)
        //{
        //    return Accounting.Services.MD5.GenerateHashDigest(username + password);
        //}

        public int Insert(Models.SysUserView data)
        {
            try
            {
                this.Validate(data);

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

                data.Password = Accounting.Services.MD5.GenerateHashDigest(data.Name + data.Password);

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

                return((int)parameters.GetValueSqlParam(this._paramnameoutput));
            }
            catch (Exception)
            {
                throw;
            }
        }
Beispiel #9
0
 public void BeginUpdate(Models.GapJournalCare data)
 {
     if (data.ItemID != null)
     {
         var measurerate = Services.Voucher.GetMeasureRate(data.UOMID, data.ItemID);
         data.Quantity = Decimal.Round((Decimal)data.Quantity0 * (Decimal)measurerate, int.Parse(GlobalVariant.GetSysOption()["RoundQuantity"].ToString()));
     }
     //this._db.SaveChanges();
 }
Beispiel #10
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;
            }
        }
Beispiel #11
0
        public long Update(Models.AppVPO05View 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 appvpo05lineviews = data.AppVPO05LineViews.ToList();
                var appvpo05lineviewz = data.AppVPO05LineViewz.ToList();
                for (int i = 0; i < appvpo05lineviews.Count; i++)
                {
                    var itemz = appvpo05lineviewz[i];
                    var item  = appvpo05lineviews[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;
                        item.AccountCreditLineID = data.AccountCreditID;
                        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.AppVPO05VATViews != null)
                {
                    this._metaobject = Services.GlobalMeta.GetMetaObject(this._metavatname);


                    var appvpo05vatviews = data.AppVPO05VATViews.ToList();
                    var appvpo05vatviewz = data.AppVPO05VATViewz.ToList();
                    for (int i = 0; i < appvpo05vatviews.Count; i++)
                    {
                        var itemz = appvpo05vatviewz[i];
                        var item  = appvpo05vatviews[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;
                            //item.AccountCreditLineID = data.AccountCreditID;
                            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;
            }
        }
Beispiel #12
0
        public long Insert(Models.AppVPO05View 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 appvpo05lineviews = data.AppVPO05LineViews.ToList();
                var appvpo05lineviewz = data.AppVPO05LineViewz.ToList();
                for (int i = 0; i < appvpo05lineviews.Count; i++)
                {
                    var itemz = appvpo05lineviewz[i];
                    if (itemz != -1)
                    {
                        var item = appvpo05lineviews[i];
                        item.DocumentID = data.DocumentID;
                        //item.AccountDebitLineID = data.AccountDebitID;
                        item.AccountCreditLineID = data.AccountCreditID;
                        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;
                        }

                        this.InsertLine(item);
                    }
                }

                #endregion

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

                    var appvpo05vatviews = data.AppVPO05VATViews.ToList();
                    var appvpo05vatviewz = data.AppVPO05VATViewz.ToList();
                    for (int i = 0; i < appvpo05vatviews.Count; i++)
                    {
                        var itemz = appvpo05vatviewz[i];
                        if (itemz != -1)
                        {
                            var item = appvpo05vatviews[i];
                            item.DocumentID = data.DocumentID;
                            //item.AccountDebitLineID = data.AccountDebitID;
                            //item.AccountCreditLineID = data.AccountCreditID;
                            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;
            }
        }
Beispiel #13
0
        public ActionResult GetDataChart(string datefrom, string dateto, int userid)
        {
            int topproduct = 10;
            var _datefrom  = Convert.ToDateTime(datefrom);
            var _dateto    = Convert.ToDateTime(dateto).EndOfDay();

            object rows    = null;
            object rows2   = null;
            object rows3   = null;
            object results = null;

            if ((GlobalVariant.GetAppUser().SysRole.IsAdmin || posadmin.Contains(GlobalVariant.GetAppUser().SysRole.Name.ToLower())) && userid == 0)
            {
                rows  = _dataobject._db.Database.SqlQuery <RpResRevenue>(string.Format("sp_RpResRevenue '{0}','{1}'", _datefrom.ToString("yyyy-MM-dd HH:mm:ss"), _dateto.ToString("yyyy-MM-dd HH:mm:ss"))).ToList();
                rows2 =
                    (
                        from row in _dataobject._db.ResOrderItemViews
                        join master in _dataobject._db.ResOrders on row.OrderId equals master.OrderId
                        where master.OrderDate >= _datefrom && master.OrderDate <= _dateto && master.OrderStatusId == 0
                        group row by new
                {
                    row.ItemId,
                    row.ItemName
                } into g
                        select new DoughNutChart()
                {
                    label = g.Key.ItemName,
                    value = g.Sum(x => x.Amount)
                }
                    ).OrderByDescending(m => m.value).Take(topproduct).ToList();

                rows3 =
                    (
                        from row in _dataobject._db.ResOrderItemViews
                        join master in _dataobject._db.ResOrders on row.OrderId equals master.OrderId
                        where master.OrderDate >= _datefrom && master.OrderDate <= _dateto && master.OrderStatusId == 0
                        group row by new
                {
                    row.ItemId,
                    row.ItemName
                } into g
                        select new DoughNutChart()
                {
                    label = g.Key.ItemName,
                    value = g.Sum(x => x.Quantity)
                }
                    ).OrderByDescending(m => m.value).Take(topproduct).ToList();
            }
            else
            {
                int _userid = GlobalVariant.GetAppUser().UserID;
                if ((GlobalVariant.GetAppUser().SysRole.IsAdmin || posadmin.Contains(GlobalVariant.GetAppUser().SysRole.Name.ToLower())) && userid > 0)
                {
                    _userid = userid;
                }

                rows = _dataobject._db.Database.SqlQuery <RpResRevenue>(string.Format("sp_RpResRevenueByUser '{0}','{1}',{2}", _datefrom.ToString("yyyy-MM-dd HH:mm:ss"), _dateto.ToString("yyyy-MM-dd HH:mm:ss"), _userid)).ToList();

                rows2 =
                    (
                        from row in _dataobject._db.ResOrderItemViews
                        join master in _dataobject._db.ResOrders on row.OrderId equals master.OrderId
                        where master.OrderDate >= _datefrom && master.OrderDate <= _dateto && master.OrderStatusId == 0 && master.ModifiedBy.Value == _userid
                        group row by new
                {
                    row.ItemId,
                    row.ItemName
                } into g
                        select new DoughNutChart()
                {
                    label = g.Key.ItemName,
                    value = g.Sum(x => x.Amount)
                }
                    ).OrderByDescending(m => m.value).Take(topproduct).ToList();

                rows3 =
                    (
                        from row in _dataobject._db.ResOrderItemViews
                        join master in _dataobject._db.ResOrders on row.OrderId equals master.OrderId
                        where master.OrderDate >= _datefrom && master.OrderDate <= _dateto && master.OrderStatusId == 0 && master.ModifiedBy.Value == _userid
                        group row by new
                {
                    row.ItemId,
                    row.ItemName
                } into g
                        select new DoughNutChart()
                {
                    label = g.Key.ItemName,
                    value = g.Sum(x => x.Quantity)
                }
                    ).OrderByDescending(m => m.value).Take(topproduct).ToList();
            }

            results = (new { rows = rows, rows2 = rows2, rows3 = rows3 });
            return(Json(results, JsonRequestBehavior.AllowGet));
        }
Beispiel #14
0
        public ActionResult GetReportResItem(string datefrom, string dateto, int userid, Models.Paging page)
        {
            var _datefrom = Convert.ToDateTime(datefrom);
            var _dateto   = Convert.ToDateTime(dateto).EndOfDay();



            object rows    = null;
            object results = null;

            int _userid = GlobalVariant.GetAppUser().UserID;

            if ((GlobalVariant.GetAppUser().SysRole.IsAdmin || posadmin.Contains(GlobalVariant.GetAppUser().SysRole.Name.ToLower())) && userid > 0)
            {
                _userid = userid;
            }
            var query0 = from row in _dataobject._db.ResOrderItemViews
                         join item in _dataobject._db.AppItemTables on row.ItemId equals item.ItemID
                         join master in _dataobject._db.ResOrders on row.OrderId equals master.OrderId
                         where master.OrderDate >= _datefrom && master.OrderDate <= _dateto && master.OrderStatusId == 0 && master.ModifiedBy == _userid
                         orderby item.ItemGroupID, row.ItemName
            group row by new { row.ItemId, row.ItemName }
            into g
                select new ReportResItem()
            {
                ItemId   = g.Key.ItemId,
                ItemName = g.Key.ItemName,
                Quantity = g.Sum(x => x.Quantity),
                Amount   = g.Sum(x => x.Amount)
            };

            if ((GlobalVariant.GetAppUser().SysRole.IsAdmin || posadmin.Contains(GlobalVariant.GetAppUser().SysRole.Name.ToLower())) && userid == 0)
            {
                query0 = from row in _dataobject._db.ResOrderItemViews
                         join item in _dataobject._db.AppItemTables on row.ItemId equals item.ItemID
                         join master in _dataobject._db.ResOrders on row.OrderId equals master.OrderId
                         where master.OrderDate >= _datefrom && master.OrderDate <= _dateto && master.OrderStatusId == 0
                         orderby item.ItemGroupID, row.ItemName
                group row by new { row.ItemId, row.ItemName }
                into g
                    select new ReportResItem()
                {
                    ItemId   = g.Key.ItemId,
                    ItemName = g.Key.ItemName,
                    Quantity = g.Sum(x => x.Quantity),
                    Amount   = g.Sum(x => x.Amount)
                };
            }

            var query = (from row in query0
                         join item in _dataobject._db.AppItemTables on row.ItemId equals item.ItemID
                         orderby item.ItemGroupID, row.ItemName
                         select row);

            if (page != null)
            {
                page.TotalRows = query.Count();
                page.SetPaging(page.TotalRows, page.PageCurrent);
                rows = query.Skip(page.Skip).Take(page.PageSize).ToList();
            }
            else
            {
                page = new Models.Paging();
                rows = query.ToList();
            }

            results = (new { rows = rows, page = page });
            return(Json(results, JsonRequestBehavior.AllowGet));
        }
Beispiel #15
0
        public int Insert(Models.ResOrderView data)
        {
            try
            {
                var tablewait = this.GetTable(data.TableId ?? 0);
                if (tablewait != null)
                {
                    throw new Exception("Bàn này đã có người rồi!");
                }

                //if (data.ResOrderItemViewz == null) throw new Exception("Phải nhập chi tiết!");
                //var countline = data.ResOrderItemViewz.Where(m => m != -1).Count();
                //if (countline == 0) throw new Exception("Phải nhập chi tiết!");

                this.Validate(data);


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

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

                var _data = new Models.ResOrder();
                this.MapView2Table(data, _data);
                this._db.ResOrders.Add(_data);
                this._db.SaveChanges();

                if (data.ResOrderItemViewz == null)
                {
                    return(_data.OrderId);
                }
                var countline = data.ResOrderItemViewz.Where(m => m != -1).Count();
                if (countline == 0)
                {
                    return(_data.OrderId);
                }

                var lines = data.ResOrderItemViews.ToList();
                var linez = data.ResOrderItemViewz.ToList();

                DateTime _curDate = DateTime.Now;
                for (int i = 0; i < lines.Count; i++)
                {
                    var itemz = linez[i];
                    if (itemz != -1)
                    {
                        var item = lines[i];
                        item.OrderId    = _data.OrderId;
                        item.CreateDate = _curDate;
                        this.InsertLine(item);
                    }
                }

                return(_data.OrderId);
            }
            catch (Exception)
            {
                throw;
            }
        }
Beispiel #16
0
 public bool IsDelete(int id)
 {
     return(Roles.IsUserInRole("Admin") || this.posadmin.Contains(GlobalVariant.GetAppUser().SysRole.Name.ToLower()));
 }
Beispiel #17
0
        public bool IsEdit(int id)
        {
            var data      = GetById(id);
            var OrderDate = data.OrderDate; //data.GetType().GetProperty("OrderDate").GetValue(data, null) ?? String.Empty;
            var begindate = DateTime.Now.AddHours(-12);

            var IsAdmin = Roles.IsUserInRole("Admin") || Roles.IsUserInRole("POSAdmin") || this.posadmin.Contains(GlobalVariant.GetAppUser().SysRole.Name.ToLower());

            if ((DateTime)OrderDate < begindate && !IsAdmin)
            {
                return(false);
            }

            return(true);
        }
Beispiel #18
0
        public int Update(Models.ResOrderView data)
        {
            try
            {
                if (data.ResOrderItemViewz == null)
                {
                    throw new Exception("Phải nhập chi tiết!");
                }
                var countline = data.ResOrderItemViewz.Where(m => m != -1).Count();
                if (countline == 0)
                {
                    throw new Exception("Phải nhập chi tiết!");
                }

                this.Validate(data);


                var _data = this.GetById2(data.OrderId);

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

                this.MapView2Table(data, _data);

                this._db.Entry(_data).State = System.Data.Entity.EntityState.Modified;
                this._db.SaveChanges();

                #region Xử lý line


                var lines = data.ResOrderItemViews.ToList();
                var linez = data.ResOrderItemViewz.ToList();

                DateTime _curDate = DateTime.Now;
                for (int i = 0; i < lines.Count; i++)
                {
                    var itemz = linez[i];
                    var item  = lines[i];

                    if (itemz != -1)
                    {
                        //có 2 tru?ng h?p: 1 - thêm m?i thu?ng DocumentOrderItemId==0, 2 - s?a d? li?u cu DocumentOrderItemId<>0

                        item.OrderId = _data.OrderId;


                        if (item.OrderItemId == 0)
                        {
                            item.CreateDate = _curDate;
                            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 DocumentOrderItemId<>0, 2 - xóa d? li?u m?i thêm DocumentOrderItemId ==0
                        if (item.OrderId > 0)
                        {
                            this.DeleteLine(item.OrderItemId);
                        }
                    }
                }


                #endregion

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