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