コード例 #1
0
        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();
        }
コード例 #2
0
        public ActionResult DeleteConfirmed(int id)
        {
            ShiftRecord shiftRecord = db.ShiftRecords.Find(id);

            db.ShiftRecords.Remove(shiftRecord);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #3
0
 public ActionResult Edit([Bind(Include = "Id,GroundCode,CheckIn,CheckOut,SaleQty,RefundQty,OfferQty,TotalQty,UserName,SaleAmt,RefundAmt,SumAmt,TotalRestQtyBefor,TotalRestQtyAfter,TotalRestQty,OpTime,MangerCode,Ts,ShiftId")] ShiftRecord shiftRecord)
 {
     if (ModelState.IsValid)
     {
         db.Entry(shiftRecord).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(shiftRecord));
 }
コード例 #4
0
 private void AddData(ShiftRecord summaryRecord, ShiftRecord dataRecord)
 {
     summaryRecord.OptimumStaffingRN  += dataRecord.OptimumStaffingRN;
     summaryRecord.OptimumStaffingHCA += dataRecord.OptimumStaffingHCA;
     summaryRecord.TodayTrustRN       += dataRecord.TodayTrustRN;
     summaryRecord.TodayTrustHCA      += dataRecord.TodayTrustHCA;
     summaryRecord.TodayBankRN        += dataRecord.TodayBankRN;
     summaryRecord.TodayBankHCA       += dataRecord.TodayBankHCA;
     summaryRecord.TodayNonTrustRN    += dataRecord.TodayNonTrustRN;
     summaryRecord.TodayNonTrustHCA   += dataRecord.TodayNonTrustHCA;
 }
コード例 #5
0
        // GET: Admin/ShiftRecords/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ShiftRecord shiftRecord = db.ShiftRecords.Find(id);

            if (shiftRecord == null)
            {
                return(HttpNotFound());
            }
            return(View(shiftRecord));
        }
コード例 #6
0
        private (DateTime start, DateTime end)? GetShiftDate(
            ShiftRecord shift,
            DateTime now)
        {
            var start = now.Date + shift.Start;
            var end   = now.Date + shift.End;

            if (start > end && start <= now)
            {
                end = end.AddDays(1);
            }
            if (start > end && end > now)
            {
                start = start.AddDays(-1);
            }

            if (start <= now && now < end)
            {
                return(start, end);
            }
            return(null);
        }
コード例 #7
0
        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();
        }
コード例 #8
0
        private ShiftRecord GetShiftRecord(bool overrideStaffingData)
        {
            ShiftRecord record = new ShiftRecord();

            //WardCode
            record.WardCode = WardName_DropDownList.SelectedItem.Value;

            //ShiftID
            int shiftID;

            int.TryParse(Shift_DropDownList.SelectedItem.Value, out shiftID);
            record.ShiftID = shiftID;

            //Date
            DateTime date;

            DateTime.TryParse(Date_TextBox.Text, out date);
            record.Date = date;

            //Beds
            int beds;

            int.TryParse(Beds_TextBox.Text, out beds);
            record.Beds = beds;

            //OptimumStaffingRN
            int osrn;

            int.TryParse(RN_OptimumStaffing_TextBox.Text, out osrn);
            record.OptimumStaffingRN = osrn;

            //OptimumStaffingHCA
            int oshca;

            int.TryParse(HCA_OptimumStaffing_TextBox.Text, out oshca);
            record.OptimumStaffingHCA = oshca;


            //Planned Number RN
            record.PlannedNumberRN = RN_PlannedNumber_TextBox.Text;

            //Planned Number HCA
            record.PlannedNumberHCA = HCA_PlannedNumber_TextBox.Text;

            //SafeStaffingRN
            int ssrn;

            int.TryParse(RN_SafeStaffing_TextBox.Text, out ssrn);
            record.SafeStaffingRN = ssrn;

            //SafeStaffingHCA
            int sshca;

            int.TryParse(HCA_SafeStaffing_TextBox.Text, out sshca);
            record.SafeStaffingHCA = sshca;

            //TodayTrustRN
            record.TodayTrustRN = overrideStaffingData ? Overrride_RN_TodayTrust_TextBox.Text : RN_TodayTrust_TextBox.Text;

            //TodayTrustHCA
            record.TodayTrustHCA = overrideStaffingData ? Overrride_HCA_TodayTrust_TextBox.Text : HCA_TodayTrust_TextBox.Text;

            //TodayBankRN
            record.TodayBankRN = overrideStaffingData ? Overrride_RN_TodayBank_TextBox.Text : RN_TodayBank_TextBox.Text;

            //TodayBankHCA
            record.TodayBankHCA = overrideStaffingData ? Overrride_HCA_TodayBank_TextBox.Text : HCA_TodayBank_TextBox.Text;

            //TodayNonTrustRN
            record.TodayNonTrustRN = overrideStaffingData ? Overrride_RN_TodayNonTrust_TextBox.Text : RN_TodayNonTrust_TextBox.Text;

            //TodayNonTrustHCA
            record.TodayNonTrustHCA = overrideStaffingData ? Overrride_HCA_TodayNonTrust_TextBox.Text : HCA_TodayNonTrust_TextBox.Text;

            //Safe logic
            if (overrideStaffingData)
            {
                if (Overrride_safeDropdown.Text == "Yes")
                {
                    //record.IsSafe = true;
                    record.IsSafeAfterMitigation = true;
                    safeDropdown.Text            = "Yes";
                }
                else
                {
                    //record.IsSafe = false;
                    record.IsSafeAfterMitigation = false;
                    safeDropdown.Text            = "No";
                }
            }
            else
            {
                if (safeDropdown.Text == "Yes")
                {
                    record.IsSafe = true;
                    record.IsSafeAfterMitigation = true;
                    Overrride_safeDropdown.Text  = "Yes";
                }
                else
                {
                    record.IsSafe = false;
                    record.IsSafeAfterMitigation = false;
                    Overrride_safeDropdown.Text  = "No";
                }
            }

            //Safe
            record.SafeMitigation = string.Empty;

            //Unsafe
            record.UnSafeMitigation = (UnSafeMitigation_DropDownList.SelectedIndex > 0)
                                        ? UnSafeMitigation_DropDownList.SelectedValue
                                        : string.Empty;

            record.DataEntryBy = Membership.GetUser().UserName + " : " + DateTime.Now.ToString();

            record.Comments = Comments_TextBox.Text;

            return(record);
        }