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 static UserBreakTime VMToM(UserBreakTimeVM model)
 {
     return(new UserBreakTime()
     {
         ID = model.id,
         StartDateTime = DataVerification.IsNull(DataVerification.VerifyData(model.timeStarted)) ? new DateTime() : Convert.ToDateTime(model.timeStarted),
         EndDateTime = DataVerification.IsNull(DataVerification.VerifyData(model.timeEnded)) ? new DateTime() : Convert.ToDateTime(model.timeEnded)
     });
 }
        public static UserBreakTimeVM MToVM(UserBreakTime item)
        {
            var temp = new UserBreakTimeVM()
            {
                id   = "" + item.ID,
                User = new UsersViewModel()
                {
                    ID = item.UserID
                },
                timeStarted = TimeConverter.ConvertDateTimeToTime(item.StartDateTime.Value),
                timeEnded   = item.EndDateTime.HasValue ? TimeConverter.ConvertDateTimeToTime(item.EndDateTime.Value) : "00:00:00",
                TotalTime   = item.TotalTime.HasValue ? item.TotalTime.Value.ToString() : "N/A",
                Type        = BreakTypeUtility.MToVM(item.BreakType),
                IsFinished  = item.IsFinishedBreak.HasValue ? item.IsFinishedBreak.Value : false,
                Remarks     = item.Remarks
            };

            return(temp);
        }