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; }