Exemple #1
0
        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;
                }
            }
        }
Exemple #2
0
        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));
        }