private void EditExclusion() { var E = olvExclusion.SelectedObject as ExclusionDetails; var P = (olvPrivilege.Objects as ISet <Privilege>).Where(x => x.ID == E.PrivilegeID).First(); using (var dlg = new dlgExclusionEdition()) { FillDialog(dlg, E, P); if (dlg.ShowDialog() == DialogResult.OK) { try { if (UpdateExclusionAsync(dlg, E.AllocationID, E.PrivilegeID).Result > 0) { GetData(olvExclusion, GetExclusionListAsync(P.TeacherID).Result); SeekHelper.SetListItem <ExclusionDetails, int, int>(E.AllocationID, E.PrivilegeID, "AllocationID", "PrivilegeID", olvExclusion); return; } throw new Exception("Aktualizacja danych nie powiodła się!"); } catch (Exception) { throw; } } } }
private async Task <int> UpdateExclusionAsync(dlgExclusionEdition dlg, int AllocationId, int PrivilegeId) { using (var scope = AppSession.TypeContainer.BeginLifetimeScope()) { var dbs = scope.Resolve <IDataBaseService>(); return(await dbs.UpdateRecordAsync(PrivilegeSQL.UpdateExclusion(), CreateUpdateParams(dlg, AllocationId, PrivilegeId))); } }
IDictionary <string, object> CreateUpdateParams(dlgExclusionEdition dlg, int AllocationId, int PrivilegeId) { var sqlParamWithValue = new Dictionary <string, object>(); sqlParamWithValue.Add("@IdPrzydzial", AllocationId); sqlParamWithValue.Add("@IdPrzywilej", PrivilegeId); 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(dlgExclusionEdition dlg, ExclusionDetails e, Privilege p) { dlg.txtKlasa.Text = e.ClassName; dlg.txtPrzedmiot.Text = e.SubjectName; dlg.txtStudent.Text = e.StudentName; //var dt = new DateRange(p.StartDate, p.EndDate); dlg.dtStartDate.MinDate = p.StartDate; dlg.dtStartDate.MaxDate = p.EndDate; dlg.dtEndDate.MinDate = p.StartDate; dlg.dtEndDate.MaxDate = p.EndDate; dlg.dtStartDate.Value = e.StartDate; dlg.dtEndDate.Value = e.EndDate; dlg.cmdOK.Enabled = true; }