public JsonResult Create([FromBody] ProjectListingModelForAjax projectListingModel) { if (ModelState.IsValid) { List <string> supprotPersonIds = new List <string>(); if (!string.IsNullOrEmpty(projectListingModel.ProjectSupportPersonIds)) { supprotPersonIds = projectListingModel.ProjectSupportPersonIds.Split(',').ToList(); } var userId = _userManager.GetUserId(User); var user = _userManager.FindByIdAsync(userId).Result; var supportPersons = new List <ApplicationUser>(); if (supprotPersonIds.Count() > 0) { supportPersons = _userManager.Users.Where(x => supprotPersonIds.Contains(x.Id)).ToList(); } ContactPersonListingModelVM ContactPersons = JsonConvert.DeserializeObject <ContactPersonListingModelVM>(projectListingModel.ContactPersonsString); var project = BuildProjectForCreate(projectListingModel, user, supportPersons, ContactPersons); _projectService.Create(project); return(Json(new { redirectTo = Url.Action("Index", "Project") })); } return(Json(new { redirectTo = Url.Action("Index", "Project") })); }
private Project BuildProjectForCreate(ProjectListingModelForAjax model, ApplicationUser applicationUser, List <ApplicationUser> supportPersons, ContactPersonListingModelVM ContactPersons) { var project = new Project { Code = model.Code, Name = model.Name, ProjectType = (EnumProjectType)int.Parse(model.ProjectType), Company = BuildCompany(int.Parse(model.CompanyId)), Status = (EnumProjectStatus)int.Parse(model.Status), EndOfContractDate = (DateTime)DateTime.Parse(model.EndOfContractDate), CreatedBy = applicationUser, CreationDate = DateTime.Now, SupportMembers = BuildProjectSupportPerson(supportPersons), ProjectContacPersons = BuildProjectContactPerson(ContactPersons.ContactPersonsString) }; return(project); }