Пример #1
0
        public ActionResult GetTimesheetCounts(string onlyComplete)
        {
            ReportChartDataViewModel model = new ReportChartDataViewModel();

            TimesheetMobileEntities entities = new TimesheetMobileEntities();

            try
            {
                model.Labels = (from wa in entities.WorkAssignments
                                orderby wa.Id_WorkAssignment
                                select wa.Title).ToArray();

                if (onlyComplete == "1")
                {
                    model.Counts = (from ts in entities.Timesheet
                                    where (ts.WorkComplete == true)
                                    orderby ts.Id_WorkAssignment
                                    group ts by ts.Id_WorkAssignment into grp
                                    select grp.Count()).ToArray();
                }
                else
                {
                    model.Counts = (from ts in entities.Timesheet
                                    orderby ts.Id_WorkAssignment
                                    group ts by ts.Id_WorkAssignment into grp
                                    select grp.Count()).ToArray();
                }
            }
            finally
            {
                entities.Dispose();
            }
            return(Json(model, JsonRequestBehavior.AllowGet));
        }
Пример #2
0
        // GET: Reports
        public ActionResult HoursPerWorkAssignment()
        {
            TimesheetMobileEntities entities = new TimesheetMobileEntities();

            try
            {
                DateTime today    = DateTime.Today.AddDays(-100);
                DateTime tomorrow = today.AddDays(101);

                //haetaan kaikki kuluvan päivän tuntikirjaukset

                List <Timesheet> allTimesheetsToday = (from ts in entities.Timesheet
                                                       where (ts.StartTime > today) &&
                                                       (ts.StartTime < tomorrow) &&
                                                       (ts.WorkComplete == true)
                                                       select ts).ToList();

                //ryhmitellään kirjaukset tehtävittäin ja lasketaan kestot
                List <HoursPerWorkAssignmentModel> model = new List <HoursPerWorkAssignmentModel>();

                foreach (Timesheet timesheet in allTimesheetsToday)
                {
                    int assignmentId = timesheet.Id_WorkAssignment.Value;
                    HoursPerWorkAssignmentModel existing = model.Where(
                        m => m.Id_WorkAssignment == assignmentId).FirstOrDefault();

                    if (existing != null)
                    {
                        existing.TotalHours += (timesheet.StopTime.Value - timesheet.StartTime.Value).TotalHours;
                    }
                    else
                    {
                        //Timesheet timesheet = timesheet;
                        existing = new HoursPerWorkAssignmentModel()
                        {
                            Id_WorkAssignment  = assignmentId,
                            WorkAssignmentName = timesheet.WorkAssignments.Title,
                            TotalHours         = (timesheet.StopTime.Value - timesheet.StartTime.Value).TotalHours,
                            WorkComplete       = timesheet.WorkComplete,
                            StartTime          = timesheet.StartTime.Value,
                            StopTime           = timesheet.StopTime.Value,
                            Comments           = timesheet.Comments
                        };
                        model.Add(existing);
                    }
                }

                return(View(model));
            }
            finally
            {
                entities.Dispose();
            }
        }
        // GET: Timesheets
        public ActionResult Index()
        {
            List <TimesheetsViewModel> model = new List <TimesheetsViewModel>();

            TimesheetMobileEntities entities = new TimesheetMobileEntities();

            try
            {
                List <Timesheet> timesheets = entities.Timesheet.ToList();

                // muodostetaan näkymämalli tietokannan rivien pohjalta
                foreach (Timesheet timesheet in timesheets)
                {
                    TimesheetsViewModel view = new TimesheetsViewModel();
                    view.Id_Timesheet = timesheet.Id_Timesheet;
                    //view.Id_Customer = timesheet.Customers.Id_Customer;
                    //view.Id_Contractor = timesheet.Contractors.Id_Contractor;
                    //view.Id_Employee = timesheet.Id_Employee;
                    view.Id_WorkAssignment = timesheet.WorkAssignments.Id_WorkAssignment;
                    view.StartTime         = timesheet.StartTime.GetValueOrDefault();
                    view.StopTime          = timesheet.StopTime.GetValueOrDefault();
                    view.Comments          = timesheet.Comments;
                    view.WorkComplete      = timesheet.WorkComplete;
                    view.CreatedAt         = timesheet.CreatedAt.GetValueOrDefault();
                    view.LastModifiedAt    = timesheet.LastModifiedAt.GetValueOrDefault();
                    view.DeletedAt_        = timesheet.DeletedAt;
                    view.Active            = timesheet.Active;


                    view.FirstName = timesheet.Employees?.FirstName;
                    view.LastName  = timesheet.Employees?.LastName;



                    model.Add(view);
                }
            }
            finally
            {
                entities.Dispose();
            }



            return(View(model));
        }
Пример #4
0
        public ActionResult HoursPerWorkAssignmentAsExcel3(DateTime dateFrom, DateTime dateTo)
        {
            HoursPerWorkAssignmentModel dates = new HoursPerWorkAssignmentModel();

            dates.dateFrom = dateFrom;
            dates.dateTo   = dateTo;



            StringBuilder csv = new StringBuilder();

            // luodaan CSV-muotoinen tiedosto
            TimesheetMobileEntities entities = new TimesheetMobileEntities();

            try
            {
                // haetaan kaikki kuluvan päivän tuntikirjaukset
                List <Timesheet> allTimesheetsTime = (from ts in entities.Timesheet
                                                      where (ts.StartTime > dateFrom) &&
                                                      (ts.StartTime < dateTo) &&
                                                      (ts.WorkComplete == true)
                                                      select ts).ToList();


                {
                    {
                        csv.AppendLine("Id_WorkAssignment" + ";" + "Id_Employee" + ";" + "StartTime" + ";" + "StopTime" + ";" + "TotalHours" + ";" + "Comments" + ";");


                        foreach (Timesheet timesheet in allTimesheetsTime)
                        {
                            csv.AppendLine(timesheet.Id_WorkAssignment + ";" + timesheet.Id_Employee + ";" +
                                           timesheet.StartTime + ";" + timesheet.StopTime + ";" + (timesheet.StopTime.Value - timesheet.StartTime.Value).TotalHours + ";" + timesheet.Comments + ";");
                        }
                    }
                }
            }
            finally
            {
                entities.Dispose();
            }
            //Palautetaan CSV-tiedot selaimelle
            byte[] buffer = Encoding.UTF8.GetBytes(csv.ToString());
            return(File(buffer, "text/csv", "Työtunnit3.csv"));
        }
Пример #5
0
        public string[] GetAll()

        {
            string[] assignmentNames         = null;
            TimesheetMobileEntities entities = new TimesheetMobileEntities();

            try
            {
                assignmentNames = (from wa in entities.WorkAssignments
                                   where (wa.Active == true)
                                   select wa.Title).ToArray();
            }
            finally
            {
                entities.Dispose();
            }
            return(assignmentNames);
        }
        public string[] GetAll()

        {
            string[] employeeNames           = null;
            TimesheetMobileEntities entities = new TimesheetMobileEntities();

            try
            {
                employeeNames = (from e in entities.Employees
                                 where (e.Active == true)
                                 select e.FirstName + " " +
                                 e.LastName).ToArray();
            }
            finally
            {
                entities.Dispose();
            }
            return(employeeNames);
        }
Пример #7
0
        public ActionResult HoursPerWorkAssignmentAsExcel2()


        {
            StringBuilder csv = new StringBuilder();

            // luodaan CSV-muotoinen tiedosto
            TimesheetMobileEntities entities = new TimesheetMobileEntities();

            try
            {
                DateTime today    = DateTime.Today;
                DateTime tomorrow = today.AddDays(30);

                // haetaan kaikki kuluvan päivän tuntikirjaukset
                List <Timesheet> allTimesheetsToday = (from ts in entities.Timesheet
                                                       where (ts.StartTime > today) &&
                                                       (ts.StartTime < tomorrow) &&
                                                       (ts.WorkComplete == true)
                                                       select ts).ToList();



                foreach (Timesheet timesheet in allTimesheetsToday)
                {
                    csv.AppendLine(timesheet.Id_Employee + ";" +
                                   timesheet.StartTime + ";" + timesheet.StopTime + ";" + timesheet.Comments + ";");
                }
            }
            finally
            {
                entities.Dispose();
            }
            //Palautetaan CSV-tiedot selaimelle
            byte[] buffer = Encoding.UTF8.GetBytes(csv.ToString());
            return(File(buffer, "text/csv", "Työtunnit2.csv"));
        }
Пример #8
0
        // GET: Employees
        public ActionResult Index()
        {
            List <EmployeesViewModel> model = new List <EmployeesViewModel>();

            TimesheetMobileEntities entities = new TimesheetMobileEntities();

            try
            {
                List <Employees> employees = entities.Employees.OrderBy(Employees => Employees.LastName).ToList();

                // muodostetaan näkymämalli tietokannan rivien pohjalta
                foreach (Employees employee in employees)
                {
                    EmployeesViewModel view = new EmployeesViewModel();
                    view.Id_Employee  = employee.Id_Employee;
                    view.FirstName    = employee.FirstName;
                    view.LastName     = employee.LastName;
                    view.PhoneNumber  = employee.PhoneNumber;
                    view.EmailAddress = employee.EmailAddress;
                    view.DeletedAt    = employee.DeletedAt;
                    view.Active       = employee.Active;



                    model.Add(view);
                }
            }
            finally
            {
                entities.Dispose();
            }



            return(View(model));
        }
Пример #9
0
        public bool PostStatus(WorkAssignmentOperationModel input)
        {
            TimesheetMobileEntities entities = new TimesheetMobileEntities();


            try
            {
                WorkAssignments assignment = (from wa in entities.WorkAssignments
                                              where (wa.Active == true) &&
                                              (wa.Title == input.AssignmentTitle)
                                              select wa).FirstOrDefault();

                if (assignment == null)
                {
                    return(false);
                }
                if (input.Operation == "Start")
                {
                    int assignmentId = assignment.Id_WorkAssignment;

                    Timesheet newEntry = new Timesheet()
                    {
                        Id_WorkAssignment = assignmentId,
                        WorkComplete      = false,
                        StartTime         = DateTime.Now,
                        Active            = true,
                        CreatedAt         = DateTime.Now
                    };
                    entities.Timesheet.Add(newEntry);
                }
                else if (input.Operation == "Stop")
                {
                    int       assignmentId = assignment.Id_WorkAssignment;
                    Timesheet existing     = (from ts in entities.Timesheet
                                              where (ts.Id_WorkAssignment == assignmentId) &&
                                              (ts.Active == true)
                                              select ts).FirstOrDefault();

                    if (existing != null)
                    {
                        existing.StopTime       = DateTime.Now;
                        existing.WorkComplete   = true;
                        existing.LastModifiedAt = DateTime.Now;
                    }
                    else
                    {
                        return(false);
                    }
                }
                entities.SaveChanges();
            }
            catch
            {
                return(false);
            }
            finally
            {
                entities.Dispose();
            }
            return(true);
        }