Ejemplo n.º 1
0
        private ArticleViewModel ConstructAVM(Article item, bool shortDescription)
        {
            string actualDecription = (shortDescription && item.Description.Length > 300) ? item.Description.Substring(0, 300) + " . . ." : item.Description;
            //actualDecription = actualDecription.Replace("[newstr]", "</p><p>");
            ArticleViewModel avm = new ArticleViewModel
            {
                Title       = item.Title,
                EnTitle     = item.EnTitle,
                Description = actualDecription,
                UpdateTime  = item.UpdateTime,
                Category    = item.Category,
                CategoryId  = item.CategoryId,
                Link        = item.Link,
                Companies   = item.Companies,
                Id          = item.Id
            };

            string[] hashtags = item.HashTags.Split(' ');
            foreach (var hashtag in hashtags)
            {
                avm.HashTags.Add(hashtag);
            }

            //формируем список изображений
            foreach (var im in item.Images)
            {
                avm.ImagesInBase64.Add(FromByteToBase64Converter.GetImageBase64Src(im.Image));
            }

            return(avm);
        }
Ejemplo n.º 2
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));
        }
        public IActionResult Goods(GoodStatus goodsStatus = GoodStatus.Active)
        {
            var currentUser = _repositoryUser.GetCurrentUser(User.Identity.Name);

            if (currentUser != null)
            {
                var Company = _repositoryCompany.GetUserCompany(currentUser);
                var Goods   = _repositoryGood.ShopGoodsFullInformation(Company.Id).ToList();

                List <GoodViewModel> GoodsVM = new List <GoodViewModel>();
                foreach (var good in Goods)
                {
                    GoodViewModel gvm = new GoodViewModel
                    {
                        Amount      = good.Amount,
                        Category    = good.Category,
                        CategoryId  = good.CategoryId,
                        Companies   = good.Companies,
                        Description = good.Description,
                        Id          = good.Id,
                        Images      = good.Images,
                        Title       = good.Title
                    };
                    if (good.Images.Count != 0)
                    {
                        gvm.MainImageInBase64 = FromByteToBase64Converter.GetImageBase64Src(good.Images.ToList()[0]);
                    }
                    GoodsVM.Add(gvm);
                }
                ViewBag.GoodsVM = GoodsVM;
            }
            else
            {
                Redirect("/");
            }

            ViewBag.ActiveSubMenu = "Товары/Услуги";
            if (goodsStatus == GoodStatus.Active)
            {
                ViewBag.ActiveGoodsStatusMenu = 1;
            }
            if (goodsStatus == GoodStatus.InActive)
            {
                ViewBag.ActiveGoodsStatusMenu = 0;
            }
            return(View());
        }
        public IActionResult EditGood(int goodId)
        {
            CreateEditGoodViewModel cegvm = null;

            if (goodId != 0)
            {
                Good good = _repositoryGood.GetGood(goodId);

                cegvm = new CreateEditGoodViewModel
                {
                    Category    = good.Category.Title,
                    CategoryId  = good.CategoryId,
                    Description = good.Description,
                    Id          = good.Id,
                    Images      = good.Images,
                    Title       = good.Title
                };
                if (good.Images.Count != 0)
                {
                    cegvm.MainImageInBase64 = FromByteToBase64Converter.GetImageBase64Src(good.Images.ToList()[0]);
                    foreach (var image in good.Images)
                    {
                        cegvm.ImageViewModels.Add(
                            new ImageViewModel {
                            GoodId        = image.GoodId,
                            Id            = image.Id,
                            goodImageIds  = image.GoodId + "_" + image.Id,
                            ImageMimeType = image.ImageMimeType,
                            ImageInBase64 = FromByteToBase64Converter.GetImageBase64Src(image)
                        }
                            );
                    }
                }
            }
            else
            {
                cegvm = new CreateEditGoodViewModel();
            }

            return(View(cegvm));
        }
Ejemplo n.º 5
0
        public IActionResult EditArticle(int id)
        {
            CreateEditArticleViewModel cegvm = null;

            if (id != 0)
            {
                #region формирование данных статьи для отображения в интерфейсе редактирования
                Article item = _repositoryArticle.GetArticle(id);

                cegvm = new CreateEditArticleViewModel
                {
                    Title           = item.Title,
                    EnTitle         = item.EnTitle,
                    Description     = item.Description,
                    Link            = item.Link,
                    HashTags        = item.HashTags,
                    Category        = item.Category.Title,
                    CategoryId      = item.CategoryId,
                    Id              = item.Id,
                    metaDescription = item.metaDescription,
                    metaKeyWords    = item.metaKeyWords
                };
                if (item.Images.Count != 0)
                {
                    cegvm.MainImageInBase64 = FromByteToBase64Converter.GetImageBase64Src(item.Images.ToList()[0].Image);
                    foreach (var rgi in item.Images)
                    {
                        //для каждого изображения составляем соответствующую модель отображения
                        cegvm.ImageViewModels.Add(
                            new ImageViewModel
                        {
                            GoodId        = rgi.GoodId,
                            Id            = rgi.ImageId,
                            goodImageIds  = rgi.GoodId + "_" + rgi.ImageId,
                            ImageMimeType = rgi.Image.ImageMimeType,
                            ImageInBase64 = FromByteToBase64Converter.GetImageBase64Src(rgi.Image)
                        }
                            );
                        //для каждого изображения оставляем его id в input всех id изображений товара
                        cegvm.goodImagesIds += rgi.ImageId + "_";
                    }
                }
                #endregion
            }
            else
            {
                cegvm = new CreateEditArticleViewModel();
            }

            #region формирование списка ключевиков для САЙТА

            ViewBag.SiteKws = _repositoryKW.Kws(null).ToList();

            #endregion

            ViewData["Title"]       = _settings.ApplicationTitle + "Администрирование: Добавление/Редактирование статьи";
            ViewData["HeaderTitle"] = _settings.HeaderTitle;
            ViewData["FooterTitle"] = _settings.FooterTitle;
            ViewBag.ActiveSubMenu   = "Статьи";
            return(View(cegvm));
        }
Ejemplo n.º 6
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));
        }
Ejemplo n.º 7
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"));
            }
        }