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