public async Task<IServiceResult> CreateSpentTime(SpentTimeEditViewModel model)
        {
            var result = new ServiceResult<SpentTimeEditViewModel>();

            try
            {
                var user = await userManager.FindByIdAsync(model.UserId);
                if(user == null)
                {
                    result.AddError("", "Ez a felhasználó nem létezik");
                }

                var issue = await context.Issues.FindAsync(model.IssueId);
                if(issue == null)
                {
                    result.AddError(m => m.IssueId, "Ez a feladat nem létezik");
                }

                if(result.Succeeded)
                {
                    var spentTime = mapper.Map<SpentTime>(model);
                    spentTime.User = user;
                    spentTime.Issue = issue;

                    context.SpentTimes.Add(spentTime);
                    await context.SaveChangesAsync();
                }
            }
            catch (Exception e)
            {
                result.AddError("", e.Message);
            }

            return result;
        }
 public async Task<ActionResult> Save(SpentTimeEditViewModel model)
 {
     if (model.Id.HasValue)
     {
         return Json(await SpentTimeService.UpdateSpentTime(model));
     }
     else
     {
         model.UserId = HttpContext.User.Identity.GetUserId();
         return Json(await SpentTimeService.CreateSpentTime(model));
     }
 }
        public async Task<ActionResult> Create(SpentTimeEditViewModel model)
        {
            if(!ModelState.IsValid)
            {
                var ret = new ServiceResult();
                AddModelErrorsToResult(ret);
                return Json(ret);    
            }

            model.UserId = HttpContext.User.Identity.GetUserId();
            var result = await SpentTimeService.CreateSpentTime(model);

            return Json(result);
        }
        public async Task<IServiceResult> UpdateSpentTime(SpentTimeEditViewModel model)
        {
            var result = new ServiceResult<SpentTimeEditViewModel>();

            try
            {
                var spentTime = model.Id.HasValue ?
                    await context.SpentTimes
                        .Include(s => s.Issue)
                        .Include(s => s.User)
                        .FirstOrDefaultAsync(s => s.Id == model.Id.Value) :
                    null;

                if(spentTime == null)
                {
                    result.AddError("", "Nem létezik a munkaidő");
                }

                if (model.UserId != spentTime.User.Id)
                {
                    result.AddError("", "Csak az módosíthatja a munkaidőt aki felvette");
                } 

                var issue = await context.Issues.FindAsync(model.IssueId);
                if (issue == null)
                {
                    result.AddError(m => m.IssueId, "Ez a feladat nem létezik");
                }

                if (result.Succeeded)
                {
                    spentTime.Date = model.Date;
                    spentTime.Description = model.Description;
                    spentTime.Hour = model.Hour;
                    spentTime.Issue = issue;
                    
                    await context.SaveChangesAsync();
                }
            }
            catch (Exception e)
            {
                result.AddError("", e.Message);
            }

            return result;
        }