Exemplo n.º 1
0
        public ActionResult HoursPerWorkAssignmentAsExcel2()
        {
            StringBuilder csv = new StringBuilder();

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

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

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

                foreach (Timesheets timesheet in allTimesheetsToday)
                {
                    csv.AppendLine(timesheet.Id_Employee + ";" +
                                   timesheet.StartTime + ";" + timesheet.StopTime + ";");
                }
            }
            finally
            {
                entities.Dispose();
            }

            // palautetaan CSV-tiedot selaimelle
            byte[] buffer = Encoding.UTF8.GetBytes(csv.ToString());
            return(File(buffer, "text/csv", "Työtunnit.csv"));
        }
Exemplo n.º 2
0
        public ActionResult GetTimesheetCounts(string onlyComplete)
        {
            ReportChartDataViewModel model = new ViewModels.ReportChartDataViewModel();

            TimesheetEntities entities = new TimesheetEntities();

            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.Timesheets
                                    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.Timesheets
                                    orderby ts.Id_WorkAssignment
                                    group ts by ts.Id_WorkAssignment into grp
                                    select grp.Count()).ToArray();
                }
            }
            finally
            {
                entities.Dispose();
            }
            return(Json(model, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 3
0
 protected override void Dispose(bool disposing)
 {
     if (disposing)
     {
         db.Dispose();
     }
     base.Dispose(disposing);
 }
Exemplo n.º 4
0
        // GET: Reports
        public ActionResult HoursPerWorkAssignment()


        {
            //tähän luotu luokka
            TimesheetEntities entities = new TimesheetEntities();

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

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

                // ryhmitellään kirjaukset tehtävittäin ja lasketaan kestot

                List <HoursPerWorkAssignmentsModel> model = new List <HoursPerWorkAssignmentsModel>();

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

                    if (existing != null)
                    {
                        existing.TotalHours += (timesheet.StopTime.Value - timesheet.StartTime.Value).TotalHours;
                    }
                    else
                    {
                        existing = new HoursPerWorkAssignmentsModel()
                        {
                            WorkAssignmentId  = assignmentId,
                            WorkAssigmentName = timesheet.WorkAssignment.Title,
                            TotalHours        = (timesheet.StopTime.Value - timesheet.StartTime.Value).TotalHours
                        };
                        model.Add(existing);
                    }
                }

                return(View(model));
            }
            finally
            {
                entities.Dispose();
            }
        }
Exemplo n.º 5
0
        public string[] GetAll()
        {
            string[]          assignmentNames = null;
            TimesheetEntities entities        = new TimesheetEntities();

            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;
            TimesheetEntities entities      = new TimesheetEntities();

            try
            {
                //Jos olisi lista List<string> alkuun ja ToArrayn tilaalle ToLista();
                employeeNames = (from e in entities.Employees
                                 where (e.Active == true)
                                 select e.FirstName + " " + e.LastName).ToArray();
            }
            finally
            {
                entities.Dispose();
            }
            return(employeeNames);
        }
        public string[] GetAll()
        {
            string[]          assingnmentNames = null;
            TimesheetEntities entities         = new TimesheetEntities();

            try
            {
                //Jos olisi lista List<string> alkuun ja ToArrayn tilaalle ToList();
                assingnmentNames = (from wa in entities.WorkAssignments
                                    where (wa.Active == true)
                                    select wa.Title).ToArray();
            }
            finally
            {
                entities.Dispose();
            }
            return(assingnmentNames);
        }
Exemplo n.º 8
0
        public string[] GetAll()
        {
            string[]          employeeNames = null;
            TimesheetEntities entities      = new TimesheetEntities();

            try
            {
                employeeNames = (from e in entities.Employees
                                 where (e.Active == true)
                                 select e.FirstName + " " +
                                 e.LastName).ToArray();
            }
            finally
            {
                entities.Dispose();
            }

            return(employeeNames);
        }
Exemplo n.º 9
0
        public bool PostStatus(FotoModel input)//, string Name, byte[]FotoData)
        {
            TimesheetEntities entities = new TimesheetEntities();

            try
            {
                string[] nameParts = input.Name.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);
                string   first     = nameParts[0];
                string   last      = nameParts[1];



                Employee existing = (from ts in entities.Employees
                                     where (ts.FirstName == first) && (ts.LastName == last)

                                     select ts).FirstOrDefault();

                if (existing != null)
                {
                    existing.EmployeePicture = input.Fotodata;
                }
                else
                {
                    return(false);
                }

                entities.SaveChanges();
            }
            catch
            {
                return(false);
            }
            finally
            {
                entities.Dispose();
            }

            return(true);
        }
Exemplo n.º 10
0
        public byte[] GetEmployeeImage(string employeeName)
        {
            TimesheetEntities entities = new TimesheetEntities();

            try
            {
                string[] nameParts = employeeName.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);
                string   first     = nameParts[0];
                string   last      = nameParts[1];
                byte[]   bytes     = (from e in entities.Employees
                                      where (e.Active == true) &&
                                      (e.FirstName == first) &&
                                      (e.LastName == last)
                                      select e.EmployeePicture).FirstOrDefault();

                return(bytes);
            }
            finally
            {
                entities.Dispose();
            }
        }
        public string PutEmployeeImage()
        {
            TimesheetEntities entities = new TimesheetEntities();

            try
            {
                Employee newEmployee = new Employee()
                {
                    FirstName       = "Heebo",
                    LastName        = "X",
                    EmployeePicture = File.ReadAllBytes(@"C:\Users\maria\Koodit\Heebo.png")
                };
                entities.Employees.Add(newEmployee);
                entities.SaveChanges();

                return("OK!");
            }
            finally
            {
                entities.Dispose();
            }
        }
Exemplo n.º 12
0
        public ActionResult HoursPerWorkAssignmentAsExcel2()
        {
            StringBuilder csv = new StringBuilder();

            TimesheetEntities entities = new TimesheetEntities();

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

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

                // ryhmitellään kirjaukset tehtävittäin ja lasketaan kestot

                List <HoursPerWorkAssignmentsModel> model = new List <HoursPerWorkAssignmentsModel>();

                foreach (Timesheet timesheet in allTimesheetsToday)
                {
                    csv.AppendLine(timesheet.Id_Employee + "," +
                                   timesheet.StartTime + "," + timesheet.StopTime + ",");
                }
            }

            finally
            {
                entities.Dispose();
            }
            //palautetaan CSV-tiedot selaimelle
            byte[] buffer = Encoding.UTF8.GetBytes(csv.ToString());
            return(File(buffer, "Text/csv", "Työtunnit.csv"));
        }
Exemplo n.º 13
0
        public string PutEmployeeImage()
        {
            TimesheetEntities entities = new TimesheetEntities();

            try
            {
                Employee newEmployee = new Employee()
                {
                    FirstName       = "Aaro",
                    LastName        = "aalto",
                    EmployeePicture = System.IO.File.ReadAllBytes(@"C:\Temp\Heebo.png")
                };
                entities.Employees.Add(newEmployee);
                entities.SaveChanges();

                return("OK!");
            }
            finally
            {
                entities.Dispose();
            }

            //return "Error";
        }
Exemplo n.º 14
0
        public bool PostStatus(WorkAssignmentOperationModel input)
        {
            TimesheetEntities entities = new TimesheetEntities();

            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;
                    Timesheets newEntry     = new Timesheets()
                    {
                        Id_WorkAssignment = assignmentId,
                        StartTime         = DateTime.Now,
                        WorkComplete      = false,
                        Active            = true,
                        CreatedAt         = DateTime.Now
                    };
                    entities.Timesheets.Add(newEntry);

                    //Päivitetään samalla work-assignmentin tilatietoja
                    assignment.InProgress     = true;
                    assignment.InProgressAt   = DateTime.Now;
                    assignment.LastModifiedAt = DateTime.Now;
                }
                else if (input.Operation == "Stop")
                {
                    int        assignmentId = assignment.Id_WorkAssignment;
                    Timesheets existing     = (from ts in entities.Timesheets
                                               where (ts.Id_WorkAssignment == assignmentId) &&
                                               (ts.Active == true) && (ts.WorkComplete == false)
                                               orderby ts.StartTime descending
                                               select ts).FirstOrDefault();

                    if (existing != null)
                    {
                        existing.StopTime       = DateTime.Now;
                        existing.WorkComplete   = true;
                        existing.LastModifiedAt = DateTime.Now;

                        //Päivitetään samalla work-assignmentin tilatietoja
                        assignment.InProgress     = false;
                        assignment.Completed      = true;
                        assignment.CompletedAt    = DateTime.Now;
                        assignment.LastModifiedAt = DateTime.Now;
                    }
                    else
                    {
                        return(false);
                    }
                }
                entities.SaveChanges();
            }
            catch
            {
                return(false);
            }
            finally
            {
                entities.Dispose();
            }
            return(true);
        }
        public bool PostStatus(WorkAssigmentOperationModel input)
        {
            TimesheetEntities entities = new TimesheetEntities();

            try
            {
                //Jos olisi lista List<string> alkuun ja ToArrayn tilaalle ToLista();
                WorkAssignment assingnment = (from wa in entities.WorkAssignments
                                              where (wa.Active == true) &&
                                              (wa.Title == input.AssignmentTitle)
                                              select wa).FirstOrDefault();

                if (assingnment == null)
                {
                    return(false);
                }

                if (input.Operation == "Start")
                {
                    int       assignmentid = assingnment.Id_WorkAssignment;
                    Timesheet newEntry     = new Timesheet()

                    {
                        id_WorkAssignment = assignmentid,
                        StartTime         = DateTime.Now,
                        WorkCompleted     = false,
                        Active            = true,
                        CreatedAt         = DateTime.Now
                    };
                    entities.Timesheets.Add(newEntry);
                }

                else if (input.Operation == "Stop")
                {
                    int       assignmentid = assingnment.Id_WorkAssignment;
                    Timesheet existing     = (from ts in entities.Timesheets
                                              where (ts.id_WorkAssignment == assignmentid) &&
                                              (ts.Active == true) && (ts.WorkCompleted == false)
                                              orderby ts.StartTime descending
                                              select ts).FirstOrDefault();

                    if (existing != null)
                    {
                        existing.StopTime       = DateTime.Now;
                        existing.WorkCompleted  = true;
                        existing.LastModifiedAt = DateTime.Now;
                    }

                    else
                    {
                        return(false);
                    }
                }
                entities.SaveChanges();
            }
            catch
            {
                return(false);
            }
            finally
            {
                entities.Dispose();
            }

            return(true);
        }
Exemplo n.º 16
0
 public void CommitAndDispose()
 {
     db.SaveChanges();
     db.Dispose();
 }
Exemplo n.º 17
0
        public bool PostStatus(WorkAssignmentOperationModel input)
        {
            TimesheetEntities entities = new TimesheetEntities();

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

                if (assignment == null)
                {
                    return(false);
                }
                //string value;
                //decimal number;
                NumberStyles style;
                CultureInfo  provider;
                provider = new CultureInfo("fi-FI");
                string valueString = input.Latitude.ToString("R", CultureInfo.InvariantCulture);
                style = NumberStyles.AllowDecimalPoint;
                if (input.Operation == "Start")
                {
                    int assignmentId = assignment.id_WorkAssignment;

                    Timesheet newEntry = new Timesheet()
                    {
                        id_WorkAssignment = assignmentId,
                        StartTime         = DateTime.Now,
                        WorkComplete      = false,
                        Active            = true,
                        CreatedAt         = DateTime.Now,
                        Latitude          = Convert.ToDecimal(input.Latitude),
                        Longitude         = Convert.ToDecimal(input.Longitude)
                    };
                    entities.Timesheets.Add(newEntry);
                }
                else if (input.Operation == "Stop")
                {
                    int       assignmentId = assignment.id_WorkAssignment;
                    Timesheet existing     = (from ts in entities.Timesheets
                                              where (ts.id_WorkAssignment == assignmentId) &&
                                              (ts.Active == true) && (ts.WorkComplete == false)
                                              orderby ts.StartTime descending
                                              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);
        }