public async Task <JsonResult> Insert(UserBreakTimeVM vm) { try { var list = UserBreakModelUtility.FilterByCompanyID(CurrentUser.CompanyID, _userBreakTimeService.GetAll().Result.ToList()); list = UserBreakModelUtility.FilterByUserID(CurrentUser.ID, list); list = UserBreakModelUtility.FilterByStartDateTime(GetCurrentTime(), list); vm.id = CharacterGenerator.NewGUID(); if (!UserBreakModelUtility.IsBreakTypeExist(list, vm.Type.ID)) { var temp = new UserBreakTime() { ID = vm.id, UserID = CurrentUser.ID, StartDateTime = GetCurrentTime(), Type = vm.Type.ID, IsFinishedBreak = false, Remarks = "", CreatedAt = GetCurrentTime(), CreatedBy = CurrentUser.ID, }; _userBreakTimeService.Insert(temp); var model = _userBreakTimeService.GetWithAsyncByID(vm.id).Result; return(Json(new { success = true, data = UserBreakModelUtility.MToVM(model) })); } return(Json(new { success = false })); } catch { return(Json(new { success = false })); } }
public async Task <JsonResult> GetBreaksToday() { try { //var list = _userBreakTimeService.GetAll().Result.ToList(); var list = UserBreakModelUtility.FilterByStartDateTime(GetCurrentTime(), _userBreakTimeService.GetAll().Result.ToList()); var vms = UserBreakModelUtility.MsToVMs(list); return(Json(new { success = true, data = vms }, JsonRequestBehavior.AllowGet)); } catch { return(Json(new { success = false })); } }
public async Task <JsonResult> EndBreak(string type) { try { var ubreak = UserBreakModelUtility.FilterByType(type, _userBreakTimeService.GetAll().Result.ToList()); ubreak = UserBreakModelUtility.FilterByUserID(CurrentUser.ID, ubreak); var model = UserBreakModelUtility.FilterByStartDateTime(GetCurrentTime(), ubreak).FirstOrDefault(); model.IsFinishedBreak = true; model.EndDateTime = GetCurrentTime(); var result = _userBreakTimeService.Update(model); return(Json(new { success = result }, JsonRequestBehavior.AllowGet)); } catch { return(Json(new { success = false }, JsonRequestBehavior.AllowGet)); } }
public async Task <JsonResult> IsUserOnBreak() { try { var list = UserBreakModelUtility.FilterByCompanyID(CurrentUser.CompanyID, _userBreakTimeService.GetAll().Result.ToList()); list = UserBreakModelUtility.FilterByStartDateTime(GetCurrentTime(), list); list = UserBreakModelUtility.FilterByUserID(CurrentUser.ID, list); list = UserBreakModelUtility.FilterByIsFinished(false, list); var isOnBreak = list.FirstOrDefault(); if (isOnBreak != null) { var vm = UserBreakModelUtility.MToVM(isOnBreak); var timeDifference = TimeCalculator.SubtructTime(isOnBreak.StartDateTime.Value.TimeOfDay, GetCurrentTime().TimeOfDay); //data here is the difference of your break consumed return(Json(new { success = true, data = timeDifference, timeLimit = isOnBreak.BreakType.TimeLimit, type = isOnBreak.BreakType.id }, JsonRequestBehavior.AllowGet)); } return(Json(new { success = false }, JsonRequestBehavior.AllowGet)); } catch { return(Json(new { success = false }, JsonRequestBehavior.AllowGet)); } }