public async Task <ActionResult> CreateAsync(CreateProjectViewModel vm) { if (ModelState.IsValid) { var domainProject = projectService.CreateProject(); var projectUser = projectService.CreateProjectUser(); Mapper.Map <CreateProjectViewModel, IProjectPoco>(vm, domainProject); domainProject.ProjectLeaderId = this.UserId; domainProject.CompanyId = this.CompanyId; projectUser.ProjectId = domainProject.Id; projectUser.UserId = this.UserId; projectUser.ProjectRoleId = lookupService.GetAllProjectRoles().First(p => p.Abrv == "PM").Id; domainProject.ProjectUsers.Add(projectUser); try { await this.projectService.InsertProjectAsync(domainProject); var projectsVm = await GetProjectsViewModelAsync(new PagingParameters(1, 12)); Response.StatusCode = (int)HttpStatusCode.OK; return(Json(new { success = true, responseText = "Project is added successfuly.", html = this.RenderView("_ProjectsList", projectsVm.Projects) }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { SetErrorResponse(HttpStatusCode.InternalServerError, "Something went wrong"); } } else { Response.StatusCode = (int)HttpStatusCode.BadRequest; } return(PartialView("_NewProjectModal", vm)); }