public async Task <IActionResult> UpdateBusinessProfile([FromBody] BusinessProfileBindModel businessModel) { using (var transaction = unitOfWork.GetContext().Database.BeginTransaction()) { try { var userId = Convert.ToInt32(userManager.GetUserId(User)); var businessProfile = new Profile() { ApplicationUserId = userId, RoleId = Enums.UserRole.Business, FoundedYear = businessModel.FoundedYear, Vision = businessModel.Vision, Address = businessModel.Address, CompanyDesciption = businessModel.CompanyDesciption, WebSite = businessModel.WebSite, EmailContact = businessModel.EmailContact, PhoneNumberContact = businessModel.PhoneNumberContact, ProductDescription = businessModel.ProductDescription, ProductRequirement = businessModel.ProductRequirement, TotalProductNeeded = businessModel.TotalProductNeeded, PriceId = businessModel.PriceId, Lat = businessModel.Lat, Lng = businessModel.Lng, }; var businessProfileAdded = await unitOfWork.GetRepository <Profile>().InsertAsync(businessProfile); foreach (var item in businessModel.FocusIndustry) { var profileFocusIndustry = new ProfileFocusIndustry() { ProfileId = businessProfileAdded.Id, FocusIndustryId = item, }; await unitOfWork.GetRepository <ProfileFocusIndustry>().InsertAsync(profileFocusIndustry); } // update user role var applicationUser = unitOfWork.GetRepository <ApplicationUser>().Get(s => s.Id == userId).FirstOrDefault(); applicationUser.RoleId = Enums.UserRole.Business; applicationUser.IsCompleteProfile = true; await unitOfWork.GetRepository <ApplicationUser>().UpdateAsync(applicationUser); transaction.Commit(); return(ApiResponder.RespondSuccessTo(HttpStatusCode.Ok, "Updated Business Account")); } catch (Exception ex) { transaction.Rollback(); throw; } } }
public async Task <IActionResult> UpdatePersonalProfile([FromBody] PersonalProfileBindModel personalModel) { var userId = Convert.ToInt32(userManager.GetUserId(User)); var personalAccount = new Profile() { ApplicationUserId = userId, RoleId = Enums.UserRole.Personal, CustomerName = personalModel.CustomerName, CompanyName = personalModel.CompanyName, FoundedYear = personalModel.FoundedYear, Vision = personalModel.Vision, Address = personalModel.Address, CompanyDesciption = personalModel.CompanyDesciption, WebSite = personalModel.WebSite, EmailContact = personalModel.EmailContact, PhoneNumberContact = personalModel.PhoneNumberContact, ProductDescription = personalModel.ProductDescription, ProductRequirement = personalModel.ProductRequirement, TotalProductNeeded = personalModel.TotalProductNeeded, PriceId = personalModel.PriceId, Lat = personalModel.Lat, Lng = personalModel.Lng, }; var personalProfileAdded = await unitOfWork.GetRepository <Profile>().InsertAsync(personalAccount); foreach (var item in personalModel.FocusIndustry) { var profileFocusIndustry = new ProfileFocusIndustry() { ProfileId = personalProfileAdded.Id, FocusIndustryId = item, }; await unitOfWork.GetRepository <ProfileFocusIndustry>().InsertAsync(profileFocusIndustry); } // update user role var applicationUser = unitOfWork.GetRepository <ApplicationUser>().Get(s => s.Id == userId).FirstOrDefault(); applicationUser.RoleId = Enums.UserRole.Personal; applicationUser.IsCompleteProfile = true; await unitOfWork.GetRepository <ApplicationUser>().UpdateAsync(applicationUser); return(ApiResponder.RespondSuccessTo(HttpStatusCode.Ok, personalAccount)); }