private void ShiftDataUpdate(bool overrideRecord) { bool executionStatus = false; ShiftRecord currentRecord = GetShiftRecord(overrideRecord); ShiftRecordDA sda = new ShiftRecordDA(); string shiftDataEntryFound = ShiftDataEntryFound_HiddenField.Value; if (shiftDataEntryFound.Equals("true")) { executionStatus = sda.UpdateShiftRecord(currentRecord); } else { executionStatus = sda.AddShiftRecord(currentRecord); } //Update the staffing data again LoadDataForUpdate(); DisplayMessage(executionStatus); ResetConfirmationMessage(); }
private void LoadData() { Dictionary <DateTime, ShiftRecord> records = new Dictionary <DateTime, ShiftRecord>(); List <ShiftRecord> modifiedList = new List <ShiftRecord>(); ShiftRecordDA sda = new ShiftRecordDA(); DateTime SelectedDateTime = DateTime.Now; if (!string.IsNullOrEmpty(PeriodStartDate_TextBox.Text)) { SelectedDateTime = DateTime.Parse(PeriodStartDate_TextBox.Text); } SelectedDateTime = Utility.DateTimeHelper.FirstDateInWeek(SelectedDateTime); PeriodStartDate_TextBox.Text = SelectedDateTime.ToShortDateString(); var shiftRecords = sda.GetShiftRecordsForDate(SelectedDateTime, SelectedDateTime.AddDays(7)); string selectedWard = WardName_DropDownList.SelectedItem.Text; List <DateTime> currentDateTimes = new List <DateTime>(); currentDateTimes.Clear(); //shiftRecords. foreach (var item in shiftRecords) { if (item.WardName.Equals(selectedWard)) { modifiedList.Add(new ShiftRecord { Beds = item.Beds, DataEntryBy = item.DataEntryBy, Date = currentDateTimes.Contains(item.Date) ? new DateTime() : item.Date, Day = currentDateTimes.Contains(item.Date) ? string.Empty : item.Day, IsDaySummary = item.IsDaySummary, IsSafe = item.IsSafe, IsSafeAfterMitigation = item.IsSafeAfterMitigation, IsWeekSummary = item.IsWeekSummary, OptimumStaffingHCA = item.OptimumStaffingHCA, OptimumStaffingRN = item.OptimumStaffingRN, PlannedNumberRN = item.PlannedNumberRN, PlannedNumberHCA = item.PlannedNumberHCA, SafeMitigation = item.SafeMitigation, SafeStaffingHCA = item.SafeStaffingHCA, SafeStaffingRN = item.SafeStaffingRN, ShiftID = item.ShiftID, ShiftRecordExists = item.ShiftRecordExists, TodayBankHCA = item.TodayBankHCA, TodayBankRN = item.TodayBankRN, TodayNonTrustHCA = item.TodayNonTrustHCA, TodayNonTrustRN = item.TodayNonTrustRN, TodayTrustHCA = item.TodayTrustHCA, TodayTrustRN = item.TodayTrustRN, UnSafeMitigation = item.UnSafeMitigation, WardCode = item.WardCode, }); currentDateTimes.Add(item.Date); //currentDateTimes.Add(item.Date); //if (records.ContainsKey(item.Date)) //{ //} //else //{ // records.Add(item.Date, item); // //if (modifiedList.Count > 1) // //{ // // modifiedList.Add(daySummary); // // AddData(weekSummary, daySummary); // //} // daySummary = new ShiftRecord(); // daySummary.IsDaySummary = true; //} //AddData(daySummary, item); //modifiedList.Add(item); } } //if (modifiedList.Count > 1) //{ // modifiedList.Add(daySummary); // AddData(weekSummary, daySummary); // modifiedList.Add(weekSummary); //} this.cdcatalog.DataSource = modifiedList; this.cdcatalog.DataBind(); }
private void LoadDataForUpdate() { string wardCode = WardName_DropDownList.SelectedItem.Value; DateTime currentDate; ShiftRecordDA sda; //ShiftID int shiftID = -1; int.TryParse(Shift_DropDownList.SelectedItem.Value, out shiftID); DateTime.TryParse(Date_TextBox.Text, out currentDate); if (string.IsNullOrWhiteSpace(wardCode) || shiftID < 0 || currentDate == null) { return; } sda = new ShiftRecordDA(); ShiftRecord record = sda.GetShiftRecord(currentDate, wardCode, shiftID); if (record.ShiftRecordExists) { ShiftDataEntryFound_HiddenField.Value = "true"; } else { ShiftDataEntryFound_HiddenField.Value = "false"; } //Beds Beds_TextBox.Text = record.Beds.ToString(); //OptimumStaffingRN RN_OptimumStaffing_TextBox.Text = record.OptimumStaffingRN.ToString(); //OptimumStaffingHCA HCA_OptimumStaffing_TextBox.Text = record.OptimumStaffingHCA.ToString(); //PlannedNumberRN RN_PlannedNumber_TextBox.Text = record.PlannedNumberRN; //PlannedNumberHCA HCA_PlannedNumber_TextBox.Text = record.PlannedNumberHCA; //SafeStaffingRN RN_SafeStaffing_TextBox.Text = record.SafeStaffingRN.ToString(); //SafeStaffingHCA HCA_SafeStaffing_TextBox.Text = record.SafeStaffingHCA.ToString(); //Fix if defualt value is 0, empty string will be displayed. //TodayTrustRN RN_TodayTrust_TextBox.Text = record.TodayTrustRN; Overrride_RN_TodayTrust_TextBox.Text = record.TodayTrustRN; //TodayTrustHCA HCA_TodayTrust_TextBox.Text = record.TodayTrustHCA; Overrride_HCA_TodayTrust_TextBox.Text = record.TodayTrustHCA; //TodayBankRN RN_TodayBank_TextBox.Text = record.TodayBankRN; Overrride_RN_TodayBank_TextBox.Text = record.TodayBankRN; //TodayBankHCA HCA_TodayBank_TextBox.Text = record.TodayBankHCA; Overrride_HCA_TodayBank_TextBox.Text = record.TodayBankHCA; //TodayNonTrustRN RN_TodayNonTrust_TextBox.Text = record.TodayNonTrustRN; Overrride_RN_TodayNonTrust_TextBox.Text = record.TodayNonTrustRN; //TodayNonTrustHCA HCA_TodayNonTrust_TextBox.Text = record.TodayNonTrustHCA; Overrride_HCA_TodayNonTrust_TextBox.Text = record.TodayNonTrustHCA; //Comments Comments_TextBox.Text = record.Comments; if (record.IsSafeAfterMitigation == null) { //Safe if (record.IsSafe) { safeDropdown.SelectedIndex = 0; mitigationPanel.Visible = false; } else { safeDropdown.SelectedIndex = 1; mitigationPanel.Visible = true; } } //Check if the ward is unsafe and display the staffing adjustment panel if (record.IsSafeAfterMitigation == true) { safeDropdown.SelectedIndex = 0; mitigationPanel.Visible = false; Overrride_safeDropdown.SelectedIndex = 1; } else if (record.IsSafeAfterMitigation == false) { safeDropdown.SelectedIndex = 1; mitigationPanel.Visible = true; adjustStaffingFiguresPanel.Visible = true; adjustStaffingFiguresPanel.Attributes.Add("style", "display: block;"); fade.Attributes.Add("style", "display: block;"); Overrride_safeDropdown.SelectedIndex = 0; } //UnSafeMitigation if (UnSafeMitigation_DropDownList.Items.FindByValue(record.UnSafeMitigation) != null) { UnSafeMitigation_DropDownList.SelectedValue = record.UnSafeMitigation; } else { UnSafeMitigation_DropDownList.SelectedIndex = 0; } string shiftDataEntryFound = ShiftDataEntryFound_HiddenField.Value; if (shiftDataEntryFound.Equals("false")) { //Shift Name string shiftName = Shift_DropDownList.SelectedItem.Text; //ShiftRecord record = sda.GetShiftRecord(date, wardCode, shiftID); StaffingData staffingDataRecord = new StaffingData(); IList <StaffingData> allStaffing = DataRepository.Instance.AllStaffing; StaffingDateRangeDA staffingDateRangeDA = new StaffingDateRangeDA(); List <StaffingDateRange> staffingDateRange = new List <StaffingDateRange>(); staffingDateRange = staffingDateRangeDA.GetAllStaffingDateRanges(); // This is the logic that loads the optimum/safe staffing values according to the current date int currentDatePeriodIndex = 0; List <int> currentDatePeriodIndexs = new List <int>(); //foreach (StaffingDateRange item in staffingDateRange) //{ // if (IsCurrentDateInSpecifiedDatePeriod(currentDate, item.StartDate, item.EndDate)) // { // currentDatePeriodIndex = item.Index; // break; // } //} //Support for multiple periods foreach (StaffingDateRange item in staffingDateRange) { if (IsCurrentDateInSpecifiedDatePeriod(currentDate, item.StartDate, item.EndDate)) { currentDatePeriodIndexs.Add(item.Index); } } foreach (StaffingData item in allStaffing) { foreach (int period in currentDatePeriodIndexs) { if (item.StaffingDateRangeIndex == period && wardCode.Equals(item.WardCode) && shiftName.Equals(item.Shift) && item.StaffingDate == currentDate.ToString("dddd")) { staffingDataRecord = item; break; } } } //Beds Beds_TextBox.Text = staffingDataRecord.Beds.ToString(); //OptimumStaffingRN RN_OptimumStaffing_TextBox.Text = staffingDataRecord.OptimumRN.ToString(); //OptimumStaffingHCA HCA_OptimumStaffing_TextBox.Text = staffingDataRecord.OptimumHCA.ToString(); //SafeStaffingRN RN_SafeStaffing_TextBox.Text = staffingDataRecord.SafeRN.ToString(); //SafeStaffingHCA HCA_SafeStaffing_TextBox.Text = staffingDataRecord.SafeHCA.ToString(); } SetEntryAreaBckground(); }