Exemple #1
0
        public JsonResult GetImageForThumb(int Id)
        {
            Image image = _repositoryImage.GetImage(Id);

            ImageViewModel imageViewModel = new ImageViewModel
            {
                GoodId        = 0,
                Id            = image.Id,
                goodImageIds  = 0 + "_" + image.Id,
                ImageMimeType = image.ImageMimeType,
                ImageInBase64 = FromByteToBase64Converter.GetImageBase64Src(image)
            };

            return(Json(imageViewModel));
        }
Exemple #2
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));
        }