Esempio n. 1
0
        public ActionResult DeleteCompany(int?id)
        {
            var company = companyService.GetById(id.Value);

            var deleteCompanyViewModel = new CreateEditCompanyViewModel();

            deleteCompanyViewModel = Mapper.Map <Company, CreateEditCompanyViewModel>(company, deleteCompanyViewModel);

            return(PartialView(deleteCompanyViewModel));
        }
Esempio n. 2
0
        public IActionResult RegisterCompany(string returnUrl = null)
        {
            ViewData["ReturnUrl"] = returnUrl;

            var cecvm = new CreateEditCompanyViewModel();

            ViewData["Title"]       = _settings.ApplicationTitle + "Регистрация";
            ViewData["HeaderTitle"] = _settings.HeaderTitle;
            ViewData["FooterTitle"] = _settings.FooterTitle;

            return(View(cecvm));
        }
Esempio n. 3
0
        public ActionResult CreateCompany(CreateEditCompanyViewModel model)
        {
            if (!ModelState.IsValid)
                return PartialView();

            var newCompany = new Company();

            newCompany.Name = model.Name;

            companyService.Add(newCompany);

            return Json(new { success = true });
        }
Esempio n. 4
0
        public ActionResult CreateCompany(CreateEditCompanyViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(PartialView());
            }

            var newCompany = new Company();

            newCompany.Name = model.Name;

            companyService.Add(newCompany);

            return(Json(new { success = true }));
        }
Esempio n. 5
0
        public ActionResult EditCompany(CreateEditCompanyViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(PartialView(model));
            }

            var companyToEdit = companyService.GetById(model.ID);

            companyToEdit.Name = model.Name;

            companyService.Update(companyToEdit);

            return(Json(new { success = true }));
        }
Esempio n. 6
0
        public async Task <IActionResult> RegisterPrivatePerson(CreateEditCompanyViewModel model, string returnUrl = null)
        {
            ViewData["ReturnUrl"] = returnUrl;
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email
                };
                var result = await _userManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=532713
                    // Send an email with this link
                    //var code = await _userManager.GenerateEmailConfirmationTokenAsync(user);
                    //var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: HttpContext.Request.Scheme);
                    //await _emailSender.SendEmailAsync(model.Email, "Confirm your account",
                    //    $"Please confirm your account by clicking this link: <a href='{callbackUrl}'>link</a>");
                    await _signInManager.SignInAsync(user, isPersistent : false);

                    _logger.LogInformation(3, "User created a new account with password.");

                    #region ФОРМИРУЕМ СПИСОК ИЗОБРАЖЕНИЙ
                    //ФОРМИРУЕМ СПИСОК ИЗОБРАЖЕНИЙ - для PrivatePerson он пустой
                    List <RelCompanyImage> relImages = new List <RelCompanyImage>();
                    #endregion

                    #region СОЗДАНИЕ КОМПАНИИ
                    //При регистрации пользователя для него по умолчанию создается компания с параметрами которые он задал
                    _repositoryCompany.SaveCompanyAccount(new Company
                    {
                        ApplicationUserId = user.Id,
                        AccountType       = AccountType.PrivatePerson,
                        Title             = model.Name,
                        Description       = model.ActivityDescription,
                        ContactEmail      = model.Email,
                        Telephone         = model.Telephone,
                        Images            = relImages
                    });
                    #endregion
                    return(RedirectToAction(nameof(HomeController.IndexCat), "Home"));
                }
                AddErrors(result);
            }
            return(View(model));
        }
Esempio n. 7
0
        public async Task <IActionResult> RegisterCompany(CreateEditCompanyViewModel model, string returnUrl = null)
        {
            ViewData["ReturnUrl"] = returnUrl;
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email
                };
                var result = await _userManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=532713
                    // Send an email with this link
                    //var code = await _userManager.GenerateEmailConfirmationTokenAsync(user);
                    //var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: HttpContext.Request.Scheme);
                    //await _emailSender.SendEmailAsync(model.Email, "Confirm your account",
                    //    $"Please confirm your account by clicking this link: <a href='{callbackUrl}'>link</a>");
                    await _signInManager.SignInAsync(user, isPersistent : false);

                    _logger.LogInformation(3, "User created a new account with password.");

                    #region ФОРМИРУЕМ СПИСОК ИЗОБРАЖЕНИЙ
                    //ФОРМИРУЕМ СПИСОК ИЗОБРАЖЕНИЙ
                    List <RelCompanyImage> relImages = new List <RelCompanyImage>();
                    //если строка id изображений непуста тогда формируем список
                    if (model.companyImagesIds != null)
                    {
                        string[] strImgids = model.companyImagesIds.Trim().Substring(0, model.companyImagesIds.Length - 1).Split('_');
                        foreach (var strImageId in strImgids)
                        {
                            if (strImageId.Length == 0)
                            {
                                continue;                        //это случай когдау товара нет изображений, но в массив все равно попадает распарсеная пустая строка
                            }
                            relImages.Add(new RelCompanyImage
                            {
                                CompanyId = 0,
                                ImageId   = Convert.ToInt32(strImageId)
                            });
                        }
                    }
                    #endregion

                    #region СОЗДАНИЕ КОМПАНИИ
                    //При регистрации пользователя для него по умолчанию создается компания с параметрами которые он задал
                    _repositoryCompany.SaveCompanyAccount(new Company
                    {
                        ApplicationUserId = user.Id,
                        AccountType       = AccountType.Company,
                        Title             = model.Name,
                        Description       = model.ActivityDescription,
                        ContactEmail      = model.Email,
                        Telephone         = model.Telephone,
                        Images            = relImages
                    });
                    #endregion
                    return(RedirectToAction(nameof(HomeController.IndexCat), "Home"));
                }
                AddErrors(result);
            }

            #region ОТОБРАЖЕНИЕ УЖЕ ДОБАВЛЕННЫХ ФОТОК ЕСЛИ ОШИБКА ПРИ СОХРАНЕНИИ
            // If we got this far, something failed, redisplay form
            // заполняем список изображений уже добавленных пользователем при регистрации
            if (model.companyImagesIds != null)
            {
                List <int> logoids = GetIntIds.ConvertIdsToInt(model.companyImagesIds);
                model.LogoImageInBase64 = FromByteToBase64Converter.GetImageBase64Src(_repositoryImage.GetImage(logoids[0]));
                foreach (var id in logoids)
                {
                    Image im = _repositoryImage.GetImage(id);
                    //для каждого изображения составляем соответствующую модель отображения
                    model.ImageViewModels.Add(
                        new ImageViewModel
                    {
                        GoodId        = 0,
                        Id            = im.Id,
                        goodImageIds  = "0_" + im.Id,
                        ImageMimeType = im.ImageMimeType,
                        ImageInBase64 = FromByteToBase64Converter.GetImageBase64Src(im)
                    }
                        );
                }
            }
            #endregion

            return(View(model));
        }
Esempio n. 8
0
        public IActionResult EditProfile()
        {
            ViewBag.ActiveSubMenu   = "Профиль";
            ViewData["Title"]       = _settings.ApplicationTitle + "Администрирование: Статьи";
            ViewData["HeaderTitle"] = _settings.HeaderTitle;
            ViewData["FooterTitle"] = _settings.FooterTitle;

            var user    = _repositoryUser.GetCurrentUser(User.Identity.Name);
            var Company = _repositoryCompany.GetUserCompany(user);

            switch (Company.AccountType)
            {
            case AccountType.Company:
            {
                #region редирект на view для Company
                var cecvm = new CreateEditCompanyViewModel
                {
                    Id   = Company.Id,
                    Name = Company.Title,
                    ActivityDescription = Company.Description,
                    Email     = Company.ContactEmail,
                    Telephone = Company.Telephone
                };
                #region ЗАПИСЬ ИЗОБРАЖЕНИЙ ВО VIEWMODEL
                if (Company.Images.Count != 0)
                {
                    cecvm.LogoImageInBase64 = FromByteToBase64Converter.GetImageBase64Src(Company.Images.ToList()[0].Image);
                    foreach (var rci in Company.Images)
                    {
                        //для каждого изображения составляем соответствующую модель отображения
                        cecvm.ImageViewModels.Add(
                            new ImageViewModel
                            {
                                GoodId        = rci.CompanyId,
                                Id            = rci.ImageId,
                                goodImageIds  = rci.CompanyId + "_" + rci.ImageId,
                                ImageMimeType = rci.Image.ImageMimeType,
                                ImageInBase64 = FromByteToBase64Converter.GetImageBase64Src(rci.Image)
                            }
                            );
                        //для каждого изображения оставляем его id в input всех id изображений товара
                        cecvm.companyImagesIds += rci.ImageId + "_";
                    }
                }
                #endregion
                return(View("CompanyProfileEditView", cecvm));

                #endregion
            }

            case AccountType.PrivatePerson:
            {
                #region редирект на view для PrivatePerson
                var cecvm = new CreateEditCompanyViewModel
                {
                    Name = Company.Title,
                    ActivityDescription = Company.Description,
                    Email     = Company.ContactEmail,
                    Telephone = Company.Telephone
                };

                return(View("PrivatePersonProfileEditView", cecvm));

                #endregion
            }

            default:
                return(View("PrivatePersonProfileEditView"));
            }
        }
Esempio n. 9
0
        public async System.Threading.Tasks.Task <RedirectToActionResult> EditProfile(CreateEditCompanyViewModel model)
        {
            //if (ModelState.IsValid)
            //{
            var user    = _repositoryUser.GetCurrentUser(User.Identity.Name);
            var Company = _repositoryCompany.GetUserCompanyWithNoTrackingImages(user);

            #region ФОРМИРУЕМ СПИСОК ИЗОБРАЖЕНИЙ
            //ФОРМИРУЕМ СПИСОК ИЗОБРАЖЕНИЙ
            List <RelCompanyImage> relImages = new List <RelCompanyImage>();
            //если строка id изображений непуста тогда формируем список
            if (model.companyImagesIds != null)
            {
                string[] strImgids = model.companyImagesIds.Trim().Substring(0, model.companyImagesIds.Length - 1).Split('_');
                foreach (var strImageId in strImgids)
                {
                    if (strImageId.Length == 0)
                    {
                        continue;                        //это случай когдау товара нет изображений, но в массив все равно попадает распарсеная пустая строка
                    }
                    relImages.Add(new RelCompanyImage
                    {
                        CompanyId = Company.Id,
                        ImageId   = Convert.ToInt32(strImageId)
                    });
                }
            }
            #endregion

            //если меняем email
            if (user.Email != model.Email)
            {
                user.Email    = model.Email;
                user.UserName = model.Email;
                await _userManager.UpdateAsync(user);
            }

            await _signInManager.SignInAsync(user, isPersistent : false);

            #region ФОРМИРУЕМ ИЗМЕНЕНННУЮ КОМПАНИЮ
            Company.Title        = model.Name;
            Company.Description  = model.ActivityDescription;
            Company.ContactEmail = model.Email;
            Company.Telephone    = model.Telephone;
            Company.Images       = relImages;
            #endregion

            _repositoryCompany.SaveCompanyAccount(Company);
            //}
            return(RedirectToAction("EditProfile"));
        }
Esempio n. 10
0
        public ActionResult EditCompany(CreateEditCompanyViewModel model)
        {
            if (!ModelState.IsValid)
                return PartialView(model);

            var companyToEdit = companyService.GetById(model.ID);

            companyToEdit.Name = model.Name;

            companyService.Update(companyToEdit);

            return Json(new { success = true });
        }
Esempio n. 11
0
        public ActionResult EditCompany(int? id)
        {
            var company = companyService.GetById(id.Value);

            var editCompanyViewModel = new CreateEditCompanyViewModel();
            editCompanyViewModel = Mapper.Map<Company, CreateEditCompanyViewModel>(company, editCompanyViewModel);

            return PartialView(editCompanyViewModel);
        }