예제 #1
0
        public MvcHtmlString GetJourneysAndOvertimesForOneEmp(int eID = 0)
        {
            using (OvertimeController controller = new OvertimeController(repository))
            {
                if (repository.Employees.Where(e => e.EmployeeID == eID).Count() != 0)
                {
                    List <DateTime> journeyDates  = new List <DateTime>();
                    List <DateTime> overtimeDates = new List <DateTime>();

                    journeyDates  = SearchJourneyDataForOneEmp(eID);
                    overtimeDates = controller.SearchOvertimeDataForOneEmp(eID);

                    List <DateTime> overtimeAndJorneyDates = new List <DateTime>();
                    overtimeAndJorneyDates.AddRange(journeyDates);
                    overtimeAndJorneyDates.AddRange(overtimeDates);
                    overtimeAndJorneyDates.Sort();

                    return(CreateDatesToReclaimForDropdown(overtimeAndJorneyDates));
                }
                else
                {
                    return(new MvcHtmlString(""));
                }
            }
        }
예제 #2
0
        public List <JourneysAndOvertimesModel> GetJourneysAndOvertimes(string searchString = "")
        {
            using (OvertimeController controller = new OvertimeController(repository))
            {
                List <JourneysByEmployeeViewModel> selectedData            = new List <JourneysByEmployeeViewModel>();
                List <OvertimeByEmployeeModel>     overtimeData            = new List <OvertimeByEmployeeModel>();
                List <JourneysAndOvertimesModel>   overtimeAndJourneysData = new List <JourneysAndOvertimesModel>();

                selectedData = SearchJourneyData(searchString);
                overtimeData = controller.SearchOvertimeData(searchString);

                foreach (var item in selectedData)
                {
                    JourneysAndOvertimesModel model = new JourneysAndOvertimesModel();
                    model.Department = item.Department;
                    model.EID        = item.EID;
                    model.EmployeeID = item.EmployeeID;
                    model.FirstName  = item.FirstName;
                    model.Journeys   = item.Journeys;
                    model.LastName   = item.LastName;
                    /*-> improve this*/
                    model.Overtimes = (from e in overtimeData where e.EmployeeID == item.EmployeeID select e.Overtimes).FirstOrDefault();

                    overtimeAndJourneysData.Add(model);
                }

                return(overtimeAndJourneysData);
            }
        }
예제 #3
0
        public MvcHtmlString GetJourneysAndOvertimesForOneEmpEdit(int eID, string from)
        {
            using (OvertimeController controller = new OvertimeController(repository))
            {
                if (repository.Employees.Where(e => e.EmployeeID == eID).Count() != 0)
                {
                    DateTime parseFrom;
                    try
                    {
                        parseFrom = DateTime.ParseExact(from, "dd.MM.yyyy", null);
                    }
                    catch (SystemException)
                    {
                        return(new MvcHtmlString(""));
                    }
                    List <DateTime> journeyDates  = new List <DateTime>();
                    List <DateTime> overtimeDates = new List <DateTime>();

                    journeyDates  = SearchJourneyDataForOneEmp(eID);
                    overtimeDates = controller.SearchOvertimeDataForOneEmp(eID);

                    List <DateTime> overtimeAndJorneyDates = new List <DateTime>();
                    overtimeAndJorneyDates.AddRange(journeyDates);
                    overtimeAndJorneyDates.AddRange(overtimeDates);
                    DateTime reclaimDateOvertimes = repository.Overtimes
                                                    .Where(o => o.EmployeeID == eID &&
                                                           o.ReclaimDate == parseFrom)
                                                    .Select(o => o.Date).FirstOrDefault();
                    DateTime reclaimDateJourneys = repository.Journeys
                                                   .Where(o => o.JourneyOf.EmployeeID == eID &&
                                                          o.ReclaimDate == parseFrom)
                                                   .Select(o => o.Date).FirstOrDefault();

                    overtimeAndJorneyDates.Sort();

                    if (reclaimDateOvertimes != DateTime.MinValue)
                    {
                        overtimeAndJorneyDates.Insert(0, reclaimDateOvertimes);
                    }
                    if (reclaimDateJourneys != DateTime.MinValue)
                    {
                        overtimeAndJorneyDates.Insert(0, reclaimDateJourneys);
                    }

                    return(CreateDatesToReclaimForDropdown(overtimeAndJorneyDates));
                }
                else
                {
                    return(new MvcHtmlString(""));
                }
            }
        }