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)); }
// 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)); }
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")); }
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); }
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")); }
// 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)); }
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); }