private string figureOutClient(PersonnelScheduleDetail wSD)
 {
     if (wSD.GETjobName().Contains("Nisqually"))
     {
         return("TPU");
     }
     if (wSD.GETjobName().Contains("TPU"))
     {
         return("TPU Admin");
     }
     return(wSD.GETjobName().Substring(0, 9));
 }
 private string figureOutStore(PersonnelScheduleDetail wSD)
 {
     if (wSD.GETpostDescription().Contains("SMC"))
     {
         return("SMC");
     }
     if (wSD.GETpostDescription().Contains("CP"))
     {
         return("CP");
     }
     if (wSD.GETjobName().Contains("Nisqually"))
     {
         return("Nisqually");
     }
     return(wSD.GETjobName());
 }
        private List <PersonnelScheduleDetail> listOfXMLstringsToPersonalScheduleDetailObjectsLongNameLOL(List <string> psd2)
        {
            List <PersonnelScheduleDetail> ListPSD = new List <PersonnelScheduleDetail>();

            foreach (string str in psd2)
            {
                PersonnelScheduleDetail temp = new PersonnelScheduleDetail();

                temp.SETcellID(Convert.ToInt32(findXMLnameAndReturnStringValue(str, "CellID")));
                temp.SETcellLocked(Convert.ToBoolean(findXMLnameAndReturnStringValue(str, "CellLocked")));
                temp.SETchangeReasonID(findXMLnameAndReturnStringValue(str, "ChangeReasonID"));
                temp.SETchangesCount(Convert.ToInt32(findXMLnameAndReturnStringValue(str, "ChangesCount")));
                temp.SETdateAcknowledged(findXMLnameAndReturnStringValue(str, "DateAcknowledged"));
                temp.SETdateChanged(findXMLnameAndReturnStringValue(str, "DateChanged"));
                temp.SETemployeeName(findXMLnameAndReturnStringValue(str, "EmployeeName"));
                temp.SETemployeeNumber(Convert.ToInt32(findXMLnameAndReturnStringValue(str, "EmployeeNumber")));
                temp.SEThasBeenOffered(Convert.ToBoolean(findXMLnameAndReturnStringValue(str, "HasBeenOffered")));
                temp.SEThasNotes(Convert.ToBoolean(findXMLnameAndReturnStringValue(str, "HasNotes")));
                temp.SEThours(Convert.ToDouble(findXMLnameAndReturnStringValue(str, "Hours")));
                temp.SETisAcknowledged(Convert.ToBoolean(findXMLnameAndReturnStringValue(str, "IsAcknowledged")));
                temp.SETjobNumber(findXMLnameAndReturnStringValue(str, "JobNumber"));
                temp.SETlunch(Convert.ToDouble(findXMLnameAndReturnStringValue(str, "Lunch")));
                temp.SETmultipleCells(Convert.ToBoolean(findXMLnameAndReturnStringValue(str, "MultipleCells")));
                temp.SETnextDay(Convert.ToBoolean(findXMLnameAndReturnStringValue(str, "NextDay")));
                temp.SETofferID(findXMLnameAndReturnStringValue(str, "OfferID"));
                temp.SETofferNotes(findXMLnameAndReturnStringValue(str, "OfferNotes"));
                temp.SETofferedToMe(Convert.ToBoolean(findXMLnameAndReturnStringValue(str, "OfferedToMe")));
                temp.SETpostDescription(findXMLnameAndReturnStringValue(str, "PostDescription"));
                temp.SETscheduleDetailsID(Convert.ToInt32(findXMLnameAndReturnStringValue(str, "ScheduleDetailsID")));
                temp.SETscheduledWorkDate(Convert.ToDateTime(findXMLnameAndReturnStringValue(str, "ScheduledWorkDate")).AddDays(1));   //NOTE OFF BY 1 DAY SO WE ARE ADDING 1 DAY TO THE RETURNED DAY... DON'T KNOW WHY EHUB IS SENDING US A VALUE THAT IS OFF BY ONE DAY... :)
                temp.SETshiftCode(findXMLnameAndReturnStringValue(str, "ShiftCode"));
                temp.SETttmStatusID(findXMLnameAndReturnStringValue(str, "TTMStatusID"));
                temp.SETuserNotes(findXMLnameAndReturnStringValue(str, "UserNotes"));
                temp.SETencodedID(findXMLnameAndReturnStringValue(str, "EncodedID"));
                temp.SETinTime(Convert.ToDateTime(findXMLnameAndReturnStringValue(str, "InTime")));
                temp.SETjobName(findXMLnameAndReturnStringValue(str, "JobName"));
                temp.SEToutTime(Convert.ToDateTime(findXMLnameAndReturnStringValue(str, "OutTime")));
                temp.SETpostID(Convert.ToInt32(findXMLnameAndReturnStringValue(str, "PostID")));

                temp.SETpayPeriod(temp.GETscheduledWorkDate());

                ListPSD.Add(temp);
            }
            return(ListPSD);
        }
        private List <List <PersonnelScheduleDetail> > editTheSortedReturnedDataForCorrectSubmitions(List <List <PersonnelScheduleDetail> > allData)
        {
            DateTime today = TODAYSDATE;

            if (today.Day == 1)
            {
                List <List <PersonnelScheduleDetail> > temp = new List <List <PersonnelScheduleDetail> >();
                int stupid = 0;
                if (today.AddDays(-15).Year != TODAYSDATE.Year || today.AddDays(-7).Year != TODAYSDATE.Year)
                {
                    stupid = 365;
                }
                int alldataStartCT = allData.Count;
                foreach (List <PersonnelScheduleDetail> lst1 in allData)
                {
                    List <PersonnelScheduleDetail> tempListPSD = new List <PersonnelScheduleDetail>();
                    foreach (PersonnelScheduleDetail psd in lst1)
                    {
                        PersonnelScheduleDetail tempPSD = new PersonnelScheduleDetail();
                        tempPSD = psd;
                        tempListPSD.Add(tempPSD);
                    }
                    temp.Add(tempListPSD);
                }
                foreach (List <PersonnelScheduleDetail> lst2 in temp)
                {
                    allData.Add(lst2);
                }
                bool newWeekly = true;
                for (int j = 0; j < alldataStartCT; j++)
                {
                    List <PersonnelScheduleDetail> list = allData.ElementAtOrDefault(j);
                    for (int i = 0; list != null && i < list.Count; i++)
                    {
                        newWeekly = true;
                        if (list.ElementAtOrDefault(i).GETscheduledWorkDate().DayOfYear < today.DayOfYear - 7 + stupid || list.ElementAtOrDefault(i).GETscheduledWorkDate().Day == TODAYSDATE.Day)
                        {
                            list.Remove(list.ElementAtOrDefault(i));
                            i--;
                        }
                    }
                    if (list != null && list.Count == 0)
                    {
                        allData.Remove(list);
                        j--;
                        alldataStartCT--;
                        newWeekly = false;
                    }
                    if (newWeekly)
                    {
                        isWeekly.Add(true);
                    }
                }
                for (int j = alldataStartCT; j < allData.Count; j++)
                {
                    List <PersonnelScheduleDetail> list = allData.ElementAtOrDefault(j);
                    for (int i = 0; list != null && i < list.Count; i++)
                    {
                        if (list.ElementAtOrDefault(i).GETscheduledWorkDate().DayOfYear < today.DayOfYear - 16 + stupid || list.ElementAtOrDefault(i).GETscheduledWorkDate().Day == TODAYSDATE.Day)
                        {
                            list.Remove(list.ElementAtOrDefault(i));
                            i--;
                        }
                    }
                    if (list != null && list.Count == 0)
                    {
                        allData.Remove(list);
                        j--;
                        alldataStartCT--;
                    }
                    isWeekly.Add(false);
                }
            }
            else if (today.Day == 16)
            {
                List <List <PersonnelScheduleDetail> > temp = new List <List <PersonnelScheduleDetail> >();
                int stupid = 0;
                if (today.AddDays(-15).Year != TODAYSDATE.Year || today.AddDays(-7).Year != TODAYSDATE.Year)
                {
                    stupid = 365;
                }
                int alldataStartCT = allData.Count;
                foreach (List <PersonnelScheduleDetail> lst1 in allData)
                {
                    List <PersonnelScheduleDetail> tempListPSD = new List <PersonnelScheduleDetail>();
                    foreach (PersonnelScheduleDetail psd in lst1)
                    {
                        PersonnelScheduleDetail tempPSD = new PersonnelScheduleDetail();
                        tempPSD = psd;
                        tempListPSD.Add(tempPSD);
                    }
                    temp.Add(tempListPSD);
                }
                foreach (List <PersonnelScheduleDetail> lst2 in temp)
                {
                    allData.Add(lst2);
                }

                deleteDataBefore15thandWeek(allData, today, stupid, alldataStartCT);
            }
            else
            {
                justWeeklyDeleteExtraData(allData, today);
            }

            return(allData);
        }
        private void setDataForExcelSpreadsheet(string store, int rowToUpDate, IXLWorksheet worksheet, double hours, PersonnelScheduleDetail wSD)
        {
            worksheet.Cell("A13").SetValue(wSD.GETemployeeName() + " " + wSD.GETemployeeNumber());
            worksheet.Cell("AH38").SetValue(wSD.GETemployeeName());
            worksheet.Cell("AM13").SetValue(figureOutClient(wSD));
            worksheet.Cell("X13").SetValue(wSD.GETpayPeriod());

            //each of the worked days:
            worksheet.Cell("A" + Convert.ToString(rowToUpDate + 19)).SetValue(wSD.GETscheduledWorkDate().ToShortDateString());
            worksheet.Cell("E" + Convert.ToString(rowToUpDate + 19)).SetValue(store);
            worksheet.Cell("I" + Convert.ToString(rowToUpDate + 19)).SetValue(wSD.GETinTime().ToString("H:mm"));
            worksheet.Cell("V" + Convert.ToString(rowToUpDate + 19)).SetValue(wSD.GEToutTime().ToString("H:mm"));
            worksheet.Cell("AI" + Convert.ToString(rowToUpDate + 19)).SetValue(wSD.GEThours().ToString());

            worksheet.Cell("AI35").SetValue(Convert.ToString(hours));
        }