示例#1
0
        private void UpdateRow(GetUserAccessTree_Result row)
        {
            var au = _db.UserAccess.FirstOrDefault(w => w.FunId == row.FunId && w.UserId == _user_id && _user_id != 0);

            if (au != null)
            {
                if (row.CanDelete != null)
                {
                    au.CanDelete = row.CanDelete.Value;
                }
                if (row.CanInsert != null)
                {
                    au.CanInsert = row.CanInsert.Value;
                }
                if (row.CanModify != null)
                {
                    au.CanModify = row.CanModify.Value;
                }
                if (row.CanPost != null)
                {
                    au.CanPost = row.CanPost.Value;
                }
                if (row.CanView != null)
                {
                    au.CanView = row.CanView.Value;
                }

                _db.SaveChanges();
            }
        }
示例#2
0
        private void SetValue(GetUserAccessTree_Result row, int val)
        {
            if (isEdited(row.CanView))
            {
                row.CanView   = row.CanView = val;
                row.CanPost   = isEdited(row.CanPost) ? val : row.CanPost;
                row.CanModify = isEdited(row.CanModify) ? val : row.CanModify;
                row.CanInsert = isEdited(row.CanInsert) ? val : row.CanInsert;
                row.CanDelete = isEdited(row.CanDelete) ? val : row.CanDelete;

                UpdateRow(row);
            }
        }
示例#3
0
        public void OnLoad(BaseEntities db, WaybillList wb)
        {
            _db = db;
            _wb = wb;

            if (new int[] { -1, -6, 2, -16 }.Contains(_wb.WType))   // Вхідний платіж
            {
                _user_Access = _db.GetUserAccessTree(DBHelper.CurrentUser.UserId).ToList().FirstOrDefault(w => w.FunId == 26);
            }
            else
            {
                _user_Access = _db.GetUserAccessTree(DBHelper.CurrentUser.UserId).ToList().FirstOrDefault(w => w.FunId == 25); //Вихідні платежі
            }

            panelControl1.Visible = _user_Access.CanView == 1;

            var rel = db.GetRelDocList(wb.Id).FirstOrDefault(w => w.DocType == -3 || w.DocType == 3);

            if (rel != null)
            {
                try
                {
                    var PayDocId = db.PayDoc.AsNoTracking().FirstOrDefault(f => f.Id == rel.Id).PayDocId;
                    _pd = db.Database.SqlQuery <PayDoc>("select * from  PayDoc WITH (UPDLOCK, NOWAIT) where PayDocId = {0}", PayDocId).FirstOrDefault();
                }
                catch
                {
                    panelControl1.Enabled = false;
                }

                if (_pd != null)
                {
                    _db.Entry(_pd).State = System.Data.Entity.EntityState.Modified;

                    ExecPayCheckBox.EditValue    = _pd.Checked;
                    NumEdit.EditValue            = _pd.DocNum;
                    PTypeComboBox.EditValue      = _pd.PTypeId;
                    CashEditComboBox.EditValue   = _pd.CashId;
                    ChargeTypesEdit.EditValue    = _pd.CTypeId;
                    SumEdit.EditValue            = _pd.Total;
                    CurrencyLookUpEdit.EditValue = _pd.CurrId;
                    AccountEdit.EditValue        = _pd.AccId;
                }
            }
            else
            {
                ExecPayCheckBox.EditValue    = 0;
                PTypeComboBox.EditValue      = 1;
                CurrencyLookUpEdit.EditValue = DBHelper.Currency.Where(w => w.Def == 1).Select(s => s.CurrId).FirstOrDefault(); //Валюта по умолчанию
                if (DBHelper.CashDesks.Any(w => w.Def == 1))
                {
                    CashEditComboBox.EditValue = DBHelper.CashDesks.FirstOrDefault(w => w.Def == 1).CashId;
                }
                else if (DBHelper.CashDesks.Any())
                {
                    CashEditComboBox.EditValue = DBHelper.CashDesks.FirstOrDefault().CashId;
                }
            }

            panelControl1.Enabled   = (_user_Access.CanModify == 1 || (_user_Access.CanInsert == 1 && _pd == null)) && DBHelper.CashDesks.Any() && DBHelper.CashDesks.Any(a => a.CashId == Convert.ToInt32(CashEditComboBox.EditValue));
            ExecPayCheckBox.Enabled = _user_Access.CanPost == 1 || (_user_Access.CanInsert == 1 && _pd == null);

            PTypeComboBox.Properties.DataSource    = DBHelper.PayTypes;
            CashEditComboBox.Properties.DataSource = panelControl1.Enabled ? DBHelper.CashDesks : DBHelper.AllCashDesks;

            ChargeTypesEdit.Properties.DataSource = DBHelper.ChargeTypes;
            if (DBHelper.ChargeTypes.Any(a => a.Def == 1))
            {
                ChargeTypesEdit.EditValue = DBHelper.ChargeTypes.FirstOrDefault(f => f.Def == 1).CTypeId;
            }

            CurrencyLookUpEdit.Properties.DataSource = _db.Currency.ToList();


            var ent_id = DBHelper.Enterprise.KaId;

            user_acc_list = _db.EnterpriseAccount.Where(w => w.KaId == ent_id).Select(s => new user_acc
            {
                AccId      = s.AccId,
                AccNum     = s.AccNum,
                Name       = s.BankName,
                ExtDocType = 1
            }).ToList() /*.Concat(_db.KAgentAccount.Where(w => w.KAId == _wb.KaId).Select(s => new user_acc
                         * {
                         * AccId = s.AccId,
                         * AccNum = s.AccNum,
                         * Name = s.Kagent.Name,
                         * ExtDocType = -1
                         * }).ToList()).ToList()*/;

            AccountEdit.Properties.DataSource = user_acc_list;
        }