private void EditPrivilege() { var P = olvPrivilege.SelectedObject as Privilege; using (var dlg = new dlgPrivilegeEdition()) { FillDialog(dlg, P); if (dlg.ShowDialog() == DialogResult.OK) { try { if (UpdatePrivilegeAsync(dlg, P.ID).Result > 0) { GetData(olvPrivilege, GetPrivilegeListAsync(P.TeacherID).Result); SeekHelper.SetListItem <Privilege, int>(P.ID, "ID", olvPrivilege); return; } throw new Exception("Aktualizacja danych nie powiodła się!"); } catch (Exception) { throw; } } } }
private async Task <int> UpdatePrivilegeAsync(dlgPrivilegeEdition dlg, int ID) { using (var scope = AppSession.TypeContainer.BeginLifetimeScope()) { var dbs = scope.Resolve <IDataBaseService>(); return(await dbs.UpdateRecordAsync(PrivilegeSQL.UpdatePrivilege(), CreateUpdateParams(dlg, ID))); } }
IDictionary <string, object> CreateUpdateParams(dlgPrivilegeEdition dlg, int id) { var sqlParamWithValue = new Dictionary <string, object>(); sqlParamWithValue.Add("@ID", id); sqlParamWithValue.Add("@Typ", dlg.cbTyp.SelectedValue); sqlParamWithValue.Add("@Status", dlg.cbStatus.SelectedValue); sqlParamWithValue.Add("@DataAktywacji", dlg.dtStartDate.Value); sqlParamWithValue.Add("@DataDeaktywacji", dlg.dtEndDate.Value); sqlParamWithValue.Add("@User", UserSession.User.Login); sqlParamWithValue.Add("@IP", AppSession.HostIP); return(sqlParamWithValue); }
private void FillDialog(dlgPrivilegeEdition dlg, Privilege P) { dlg.txtKlasa.Text = P.ClassName; dlg.txtPrzedmiot.Text = P.SubjectName; var dt = new DateRange(); dlg.dtStartDate.MinDate = dt.StartDate; dlg.dtStartDate.MaxDate = dt.EndDate; dlg.dtEndDate.MinDate = dt.StartDate; dlg.dtEndDate.MaxDate = dt.EndDate; dlg.dtStartDate.Value = P.StartDate; dlg.dtEndDate.Value = P.EndDate; dlg.cbStatus.DataSource = Enum.GetValues(typeof(User.UserStatus)); dlg.cbTyp.DataSource = Enum.GetValues(typeof(PrivilegeAspect)); dlg.cbStatus.Text = P.PrivilegeStatus.ToString(); dlg.cbTyp.Text = P.PrivilegeType.ToString(); dlg.cmdOK.Enabled = true; }