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