public async Task<IServiceResult> CreateIssue(IssueEditViewModel model) { var result = new ServiceResult<IssueEditViewModel>(); try { var project = await context.Projects.FindAsync(model.ProjectId); if(project == null) { result.AddError(m => m.ProjectId, "Ilyen projekt nem létezik"); return result; } var issue = mapper.Map<Issue>(model); issue.Project = project; issue.State = IssueState.New; context.Issues.Add(issue); await context.SaveChangesAsync(); } catch (Exception e) { result.AddError("", e.Message); } return result; }
public async Task<IServiceResult> UpdateIssue(IssueEditViewModel model) { var result = new ServiceResult<IssueEditViewModel>(); try { var issue = model.Id.HasValue ? await context.Issues.FindAsync(model.Id.Value) : null; if(issue == null) { result.AddError("", "Ilyen feladat nem létezik"); return result; } if(!Enum.IsDefined(typeof(IssueState), model.State)) { result.AddError(m => m.State, "Nincs ilyen állaot"); } if(result.Succeeded) { issue.Description = model.Description; issue.State = model.State; issue.Title = model.Title; await context.SaveChangesAsync(); } } catch (Exception e) { result.AddError("", e.Message); } return result; }