/// <summary> /// Metode der gør så man kan oprette en worktime, som indeholder en Timestart, TimeEnd, Date og EmployeeId. /// Denne metode bruges også til at sende beskeder ud i view hvis en worktime er oprettet eller ikke oprettet. /// </summary> public async void CreateWorkTime() { try { var sts = _workTimeViewModel.TimeStart; var ste = _workTimeViewModel.TimeEnd; var tsv = _workTimeViewModel.Date; var empid = _workTimeViewModel.EmployeeProp.EmployeeID; Worktimes worktimes = new Worktimes() { TimeStart = DateTimeConverter.DateTimeOffsetAndTimeSetToDateTime(tsv, sts), TimeEnd = DateTimeConverter.DateTimeOffsetAndTimeSetToDateTime(tsv, ste), Date = DateTimeConverter.DateTimeOffsetToDateTime(tsv), EmployeeID = empid }; var catalog = Catalog.CatalogsSingleton.Instance; if (_workTimeViewModel.EmployeeProp.FirstName != null) { await catalog.WorktimeCatalog.AddAsync(worktimes); _workTimeViewModel.Message = "WorkTime er oprettet"; } else { _workTimeViewModel.Message = "WorkTime kunne ikke oprettes"; } } catch (Exception e) { _workTimeViewModel.Message = "Worktime kunne ikke oprettes"; } }
public ActionResult EditUserWorktime(int id, Worktimes worktime) { if (ModelState.IsValid) { _db.Entry(worktime).State = System.Data.EntityState.Modified; _db.SaveChanges(); return(RedirectToAction("SearchWorktime", new { userId = worktime.UserId })); } return(View(worktime)); }
public ActionResult Edit(Worktimes worktime) { if (ModelState.IsValid) { worktime.Leaving = DateTime.Now; _db.Entry(worktime).State = System.Data.EntityState.Modified; _db.SaveChanges(); return(RedirectToAction("SearchWorktime")); } return(View(worktime)); }
public ActionResult DeleteUserWorktime(int id, Worktimes worktime) { var worktimeList = _db.Worktimes.Where(u => u.Id == id).Select(u => u); if (worktimeList.Any()) { var delWorktime = worktimeList.First(); _db.Worktimes.Remove(delWorktime); _db.SaveChanges(); return(RedirectToAction("SearchWorktime", new { userId = delWorktime.UserId })); } return(View(worktime)); }
private Nullable <TimeSpan> OverTimeCalculator(Worktimes worktime) { Nullable <TimeSpan> result = null; if (worktime.CheckIn != null && worktime.TimeStart > worktime.CheckIn) { result = worktime.TimeStart - worktime.CheckIn; } else if (worktime.CheckOut != null && worktime.TimeEnd < worktime.CheckOut) { result = worktime.CheckOut - worktime.TimeEnd; } return(result); }
public void CheckinChectOut(int ev) { Worktimes SelectedWorktime = proxy.GetWorktimeById(ev); if (SelectedWorktime.CheckIn == null) { SelectedWorktime.CheckIn = DateTime.Now; CatalogsSingleton.Instance.WorktimeCatalog.UpdateAsync(SelectedWorktime, SelectedWorktime.WorkTimeID.ToString()); LoadWorktimes(); } else if (SelectedWorktime.CheckOut == null) { SelectedWorktime.CheckOut = DateTime.Now; CatalogsSingleton.Instance.WorktimeCatalog.UpdateAsync(SelectedWorktime, SelectedWorktime.WorkTimeID.ToString()); LoadWorktimes(); } }
public ActionResult Create(Worktimes worktime) { string username = User.Identity.Name; UserProfile user = _db.UserProfiles.First(u => u.UserName.Equals(username)); if (ModelState.IsValid) { worktime.Date = DateTime.Today; worktime.Arrival = DateTime.Now; worktime.Leaving = null; worktime.UserId = user.UserId; _db.Worktimes.Add(worktime); _db.SaveChanges(); return(RedirectToAction("SearchWorktime")); } return(View(worktime)); }
public ActionResult CreateUserWorktime(int userId, Worktimes worktime) { //Get the userprofile UserProfile user = _db.UserProfiles.First(u => u.UserId == userId); Worktimes newWorktime = new Worktimes(); if (ModelState.IsValid) { DateTime arrive = new DateTime(worktime.Date.Year, worktime.Date.Month, worktime.Date.Day, worktime.Arrival.Value.Hour, worktime.Arrival.Value.Minute, worktime.Arrival.Value.Second); DateTime leaving = new DateTime(worktime.Date.Year, worktime.Date.Month, worktime.Date.Day, worktime.Leaving.Value.Hour, worktime.Leaving.Value.Minute, worktime.Leaving.Value.Second); newWorktime.Date = worktime.Date; newWorktime.Arrival = arrive; newWorktime.Leaving = leaving; newWorktime.UserId = worktime.UserId; _db.Worktimes.Add(newWorktime); _db.SaveChanges(); return(RedirectToAction("SearchWorktime", new { userId = newWorktime.UserId })); } return(View(newWorktime)); }
/// <summary> /// Her tiltøjer vi timePlanCollections til viewet. /// </summary> /// <param name="collection"></param> /// <param name="worktime"></param> /// <returns></returns> protected async Task FindAndAddEmployeesToTimePlanAsync(Dictionary <TimeSpan, TimeIntervalDetails> collection, Worktimes worktime) { //først finder vi empluyee id på den employee som har worktimes var EmployeeCatalog = CatalogsSingleton.Instance.EmployeeCatalog; int id = worktime.EmployeeID; Employees emp = await EmployeeCatalog.GetSingleAsync(id.ToString()); //Herefter kigger vi igennem alle tiderne og sætter employeen på når det svare til hans tidsplan. for (double i = worktime.TimeStart.TimeOfDay.TotalMinutes; i < worktime.TimeEnd.TimeOfDay.TotalMinutes; i += 30) { TimeSpan tFromWorktime = TimeSpan.FromMinutes(i); TimeSpan tTemp; while (tFromWorktime.Minutes < 30 && tFromWorktime.Minutes > 0) { tFromWorktime = tFromWorktime.Subtract(new TimeSpan(0, 1, 0)); } while (tFromWorktime.Minutes > 30) { tFromWorktime = tFromWorktime.Subtract(new TimeSpan(0, 1, 0)); } if (collection.ContainsKey(tFromWorktime)) { _employeePlacementIndex.AddEmployee(emp); var color = _employeePlacementIndex.GetEmployeeColor(emp.EmployeeID); collection[tFromWorktime].AddMember(emp, new WorktimeEventDetails(emp, worktime) { Color = color }); } } }
public void Update(Worktimes worktime) { Worktimes.Refresh(); }
// // GET: /Admin/DeleteUserWorktime public ActionResult DeleteUserWorktime(int id) { Worktimes worktime = _db.Worktimes.First(u => u.Id == id); return(View(worktime)); }
public void AddWorktimeById(Worktimes worktime) { _casheSortedById.Add(worktime.WorkTimeID, worktime); }