Пример #1
0
        public async System.Threading.Tasks.Task <ActionResult> CreateAsync(AdvertisementViewModel viewModel, IFormFile fileUpload)
        {
            if (ModelState.IsValid)
            {
                if (fileUpload == null || fileUpload.Length == 0)
                {
                    return(Content("file not selected"));
                }

                var path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "images", fileUpload.FileName);
                if (!System.IO.File.Exists(path))
                {
                    using (var stream = new FileStream(path, FileMode.Create))
                    {
                        await fileUpload.CopyToAsync(stream);
                    }
                }
                //insert ad to database
                var advertisement = _mapper.Map <AdvertisementViewModel, Advertisement>(viewModel);
                advertisement.Position  = (int)Enum.Parse(typeof(Common.AdvertisementPosition), viewModel.PositionAdvertisement);
                advertisement.BannerUrl = "/images/" + viewModel.BannerUrl;
                if (_advertisementService.Insert(advertisement))
                {
                    return(RedirectToAction("Index"));
                }
            }

            ModelState.AddModelError(string.Empty, Constants.UnknowErrorMessage);
            return(RedirectToAction("Create"));
        }
Пример #2
0
        // GET: Communities/Delete/5
        public async Task <IActionResult> Delete(string id)
        {
            if (id == null)
            {
                return(NotFound());
            }
            AdvertisementViewModel viewModel = new AdvertisementViewModel();

            if (id != null)
            {
                viewModel.Community = await _context.Communities.FindAsync(id);

                if (viewModel.Community == null)
                {
                    return(NotFound());
                }
                viewModel.Advertisements = _context.Advertisements.Where(x => x.CommunityID == id).ToList();
            }
            else
            {
                return(NotFound());
            }

            return(View(viewModel));
        }
Пример #3
0
        public async Task <IActionResult> Index()
        {
            HomePageViewModel homePageViewModel = new HomePageViewModel();

            var data = await DB.AdvertisementRepository.Get();

            var NewsData = await DB.NewsRepository.Get();

            List <AdvertisementViewModel> advertisementViewModels = new List <AdvertisementViewModel>();

            foreach (var item in data)
            {
                AdvertisementViewModel model = new AdvertisementViewModel
                {
                    ID             = item.ID,
                    CreationDate   = item.CreationDate,
                    RefreshDate    = item.RefreshDate,
                    City           = item.City,
                    Car            = item.Car,
                    VIP            = item.VIP,
                    PhotoDirectory = item.PhotoDirectory
                };
                advertisementViewModels.Add(model);
            }
            homePageViewModel.AdvertisementViewModels = advertisementViewModels;
            homePageViewModel.News = NewsData.Take(5).OrderBy(x => x.CreationDate);
            return(View(homePageViewModel));
        }
Пример #4
0
        public void CreateAdvert(AdvertisementViewModel viewModel)
        {
            var cloudinary = CloudinaryInitialization.Initialize();

            if (viewModel.AdvertImage.Name == null)
            {
                throw new Exception("Image not found, Please add an image");
            }

            var uploadParams = new ImageUploadParams()
            {
                File = new FileDescription(viewModel.AdvertImage.FileName, viewModel.AdvertImage.OpenReadStream()),
            };

            var uploadResult = cloudinary.Upload(uploadParams);

            if (uploadResult.Error != null)
            {
                throw new Exception(uploadResult.Error.Message);
            }

            var advert = new Advert()
            {
                AdvertName          = viewModel.AdvertName,
                AdvertCompany       = viewModel.AdvertCompanyOrBrand,
                AdvertLink          = viewModel.AdvertLink,
                AdvertImageLocation = uploadResult.SecureUrl.AbsoluteUri,
            };

            DbContext.Adverts.Add(advert);
            DbContext.SaveChanges();
        }
Пример #5
0
        [HttpPost] //ValidateAntiForgeryToken
        public ActionResult Create(AdvertisementViewModel model)
        {
            if (TempData["NeedPayment"] != null)
            {
                TempData["NeedPayment"] = null;
            }

            if (!ModelState.IsValid)
            {
                PopulateDropDownListAndKeys(model);
                return(View(model));
            }
            if (!model.IsAdmin && !model.IsPaid)
            {
                TempData["NeedPayment"] = true;
                PopulateDropDownListAndKeys(model);
                return(View(model));
            }

            var ad = Mapper.Map <Advertisement>(model);

            ad.UserId         = CurrentUserId.ToString();
            ad.CreatedByAdmin = model.IsAdmin;
            _adsService.Create(ad);

            return(RedirectToAction(nameof(Index)));
        }
        public AdvertisementViewModel Add(AdvertisementViewModel viewModel)
        {
            var advertisement = Mapper.Map <AdvertisementViewModel, Advertisement>(viewModel);

            _advertisementRepository.Add(advertisement);
            return(viewModel);
        }
Пример #7
0
        public ActionResult ViewAuction(int id, string SpHostUrl)
        {
            var model = new AdvertisementViewModel();
            SharePointContext spContext = Session["SpContext"] as SharePointContext;

            using (var clientContext = spContext.CreateUserClientContextForSPHost())
            {
                ListCollection listCol     = clientContext.Web.Lists;
                User           currentUser = clientContext.Web.CurrentUser;
                clientContext.Load(listCol, y => y.Where(x => x.Title == "Annonser"));
                clientContext.Load(currentUser);
                clientContext.ExecuteQuery();

                var list     = listCol.FirstOrDefault();
                var listItem = list.GetItemById(id);
                clientContext.Load(listItem);
                clientContext.ExecuteQuery();

                if (listItem != null)
                {
                    model = new AdvertisementViewModel
                    {
                        Title      = listItem["Rubrik"].ToString(),
                        Text       = listItem["Text"].ToString(),
                        Price      = int.Parse(listItem["Pris"].ToString()),
                        Date       = DateTime.Parse(listItem["Datum"].ToString()),
                        User       = listItem["Author"] as FieldUserValue,
                        Category   = listItem["Kategori"] as TaxonomyFieldValue,
                        ListItemId = listItem["ID"].ToString()
                    };
                }
                return(View(model));
            }
        }
Пример #8
0
        public AdvertisementController(ColibriDbContext colibriDbContext,
                                       HostingEnvironment hostingEnvironment,
                                       IStringLocalizer <AdvertisementController> localizer)
        {
            _colibriDbContext   = colibriDbContext;
            _hostingEnvironment = hostingEnvironment;
            _localizer          = localizer;

            // initialize the Constructor for the ProductsController
            ProductsViewModel = new ProductsViewModel()
            {
                CategoryGroups = _colibriDbContext.CategoryGroups.ToList(),
                CategoryTypes  = _colibriDbContext.CategoryTypes.ToList(),
                Products       = new Models.Products()
            };

            // Advertisement ViewModel
            AdvertisementViewModel = new AdvertisementViewModel
            {
                // initialize
                Products = new List <Products>(),
                Users    = new List <ApplicationUser>()
            };

            // ProductsRatingModel
            ProductsRatingViewModel = new ProductsRatingViewModel()
            {
                Products = new List <ProductsRatings>(),
                Product  = new Models.ProductsRatings(),
                Users    = new List <ApplicationUser>()
            };
        }
Пример #9
0
        public ActionResult PostAuction(AdvertisementViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            var spContext = Session["SpContext"] as SharePointContext;

            using (var clientContext = spContext.CreateUserClientContextForSPHost())
            {
                ListCollection listCol     = clientContext.Web.Lists;
                User           currentUser = clientContext.Web.CurrentUser;
                clientContext.Load(listCol, y => y.Where(x => x.Title == "Annonser"));
                clientContext.Load(currentUser);
                clientContext.ExecuteQuery();

                var list = listCol.FirstOrDefault();
                if (list != null)
                {
                    ListItemCreationInformation newAdvertisementInfo = new ListItemCreationInformation();
                    ListItem newAdvertisement = list.AddItem(newAdvertisementInfo);
                    newAdvertisement["Rubrik"]          = model.Title;
                    newAdvertisement["Text"]            = model.Text;
                    newAdvertisement["Pris"]            = model.Price;
                    newAdvertisement["Datum"]           = DateTime.Now;
                    newAdvertisement["Anv_x00e4_ndare"] = clientContext.Web.CurrentUser;
                    newAdvertisement["Kategori"]        = model.SelectedCategory;

                    newAdvertisement.Update();
                    clientContext.ExecuteQuery();
                }
            }
            return(RedirectToAction("Index", new { SPHostUrl = spContext.SPHostUrl }));
        }
Пример #10
0
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            var advertisement = db.Advertisements.FirstOrDefault(c => c.Id == id);

            if (advertisement == null)
            {
                return(HttpNotFound());
            }

            if (!IsUserAuthorizedToEdit(advertisement))
            {
                return(new HttpStatusCodeResult(HttpStatusCode.Forbidden));
            }

            var model = new AdvertisementViewModel();

            model.Id         = advertisement.Id;
            model.Title      = advertisement.Title;
            model.Content    = advertisement.Content;
            model.CategoryId = advertisement.CategoryId;
            model.Categories = db.Categories.OrderBy(c => c.Name).ToList();

            return(View(model));
        }
Пример #11
0
        public ActionResult Create(AdvertisementViewModel model)
        {
            if (!ModelState.IsValid)
                return View(model);

            var advertisement = new Advertisement
            {
                Title = model.Title,
                Content = model.Content,
                Type = model.Type,
                UserId = uow.UserRepository.Get(Int32.Parse(User.Identity.GetUserId())).Id,
            };

            var file = Request.Files["file"];
            var advPath = "";

            if (file != null && file.ContentLength > 0)
            {
                advPath = Guid.NewGuid() + Path.GetExtension(file.FileName);
                var path = Path.Combine(Server.MapPath(StringResources.ImagesPath), advPath);
                file.SaveAs(path);
            }
            else
            {
                advPath = StringResources.NoImageFile;
            }

            advertisement.MainImagePath = StringResources.ImagesPath + advPath;

            uow.AdvertisementRepository.Insert(advertisement);
            uow.Commit();

            return RedirectToAction("Index");
        }
Пример #12
0
        public PartialViewResult SearchAuctions(SearchAdvertisementViewModel searchData)
        {
            var model = new List <AdvertisementViewModel>();
            SharePointContext spContext = Session["SpContext"] as SharePointContext;

            using (var clientContext = spContext.CreateUserClientContextForSPHost())
            {
                ListCollection listCol     = clientContext.Web.Lists;
                User           currentUser = clientContext.Web.CurrentUser;
                clientContext.Load(listCol, y => y.Where(x => x.Title == "Annonser"));
                clientContext.Load(currentUser);
                clientContext.ExecuteQuery();

                var list = listCol.FirstOrDefault();

                if (list != null)
                {
                    CamlQuery cQuery = new CamlQuery();

                    cQuery.ViewXml = CamlSearchQueryBuilder(searchData.SearchText, searchData.SelectedCategory);
                    var listItems = list.GetItems(cQuery);
                    clientContext.Load(listItems);
                    clientContext.ExecuteQuery();

                    foreach (ListItem listItem in listItems)
                    {
                        AdvertisementViewModel tempObj = new AdvertisementViewModel
                        {
                            Title      = listItem["Rubrik"].ToString(),
                            Text       = listItem["Text"].ToString(),
                            Price      = int.Parse(listItem["Pris"].ToString()),
                            Date       = DateTime.Parse(listItem["Datum"].ToString()),
                            User       = listItem["Author"] as FieldUserValue,
                            Category   = listItem["Kategori"] as TaxonomyFieldValue,
                            ListItemId = listItem["ID"].ToString()
                        };
                        model.Add(tempObj);
                    }
                }
            }
            if (searchData.SelectedFilter == "PriceAsc")
            {
                model.OrderBy(x => x.Price);
            }
            else if (searchData.SelectedFilter == "PriceDesc")
            {
                model.OrderByDescending(x => x.Price);
            }
            else if (searchData.SelectedFilter == "DateAsc")
            {
                model.OrderBy(x => x.Date);
            }
            else if (searchData.SelectedFilter == "DateDesc")
            {
                model.OrderByDescending(x => x.Date);
            }
            return(PartialView("_AuctionSearchPartial", model));
        }
        public async Task <IActionResult> Edit(AdvertisementViewModel model)
        {
            var advertisement = await this._advertisementManager.Details(model.Id);

            var user      = this._userManager.Users.FirstOrDefault(x => x.UserName == this.User.Identity.Name);
            var userRoles = await this._userManager.GetRolesAsync(user);

            var isChanged = false;

            advertisement.ImageUrl = advertisement.ImageUrl.Replace(_host.WebRootPath, "");

            if (advertisement == null || (advertisement.Creator != user && !userRoles.Contains(RoleType.Administrator)))
            {
                return(this.Redirect("/Home/Index"));
            }

            if (advertisement.BusinessName != model.BusinessName)
            {
                advertisement.BusinessName = model.BusinessName;
                isChanged = true;
            }

            if (advertisement.Url != model.Url)
            {
                advertisement.Url = model.Url;
                isChanged         = true;
            }

            if (model.ImageFile != null)
            {
                var directoryPath = _host.WebRootPath + "/images/advertisementImages/";
                var filePath      = directoryPath + $"{model.BusinessName.Replace(" ", "")}.jpg";

                var currentImage = new FileInfo(filePath);

                currentImage.Delete();

                if (!Directory.Exists(directoryPath))
                {
                    Directory.CreateDirectory(directoryPath);
                }

                using (var stream = new FileStream(filePath, FileMode.Create))
                {
                    await model.ImageFile.CopyToAsync(stream);
                }

                advertisement.ImageUrl = filePath;
                isChanged = true;
            }

            if (isChanged)
            {
                this._advertisementManager.UpdateAdvertisement(advertisement);
            }

            return(Redirect("/Advertisement/Details/" + advertisement.Id));
        }
Пример #14
0
        public ActionResult Create()
        {
            var model = new AdvertisementViewModel();

            model.Categories = db.Categories.OrderBy(c => c.Name).ToList();
            //ViewBag.CategoryId = new SelectList(db.Categories, "Id", "Name");

            return(View(model));
        }
Пример #15
0
        public ActionResult AddAdvertisement(AdvertisementViewModel advertisementViewModel)
        {
            Advertisement add = new Advertisement();

            add.ImagePath = advertisementViewModel.ImagePath;
            add.Owner     = advertisementViewModel.Owner;
            _AdvertisementRepo.Insert(add);
            return(RedirectToAction("Advertisement"));
        }
Пример #16
0
 public ActionResult Create()
 {
     using (var database = new ApplicationDbContext())
     {
         var model = new AdvertisementViewModel();
         model.Categories = database.Categories.OrderBy(c => c.Name).ToList();
         return(View(model));
     }
 }
Пример #17
0
        public ActionResult Destroy([DataSourceRequest] DataSourceRequest request, AdvertisementViewModel model)
        {
            if (model != null && ModelState.IsValid)
            {
                this.Data.Advertisements.Delete(model.Id.Value);
                this.Data.SaveChanges();
            }

            return(Json(new[] { model }.ToDataSourceResult(request, ModelState)));
        }
Пример #18
0
        public ActionResult Edit(int id)
        {
            AdvertisementViewModel advertisement = advertisementService.GetAdvertisementByID(id);

            if (advertisement == null)
            {
                return(HttpNotFound());
            }
            return(View(advertisement));
        }
        public ActionResult EditAdvertisementItem(AdvertisementViewModel model)
        {
            try
            {
                string            statusmessage = "";
                string            dateNow       = CustomDataHelper.CurrentDateTimeSL.GetCurrentDate().ToString("yyyy-MM-ddTHH\\:mm\\:ss.fffffffzzz");
                AdvertisementItem advertisement = new AdvertisementItem()
                {
                    ItemId       = model.Item.ItemId,
                    ItemName     = model.Item.ItemName,
                    FileURL      = model.Item.FileURL,
                    ModifiedDate = dateNow
                };
                if (model.Item.UploadFile != null && model.Item.UploadFile.ContentLength > 0)
                {
                    if (CheckPostedFileType(model.Item.UploadFile, "Video"))
                    {
                        if (CheckPostedFileLength(model.Item.UploadFile, "Video"))
                        {
                            //string baseUrl = Request.Url.Scheme + "://" + Request.Url.Authority + Request.ApplicationPath.TrimEnd('/');
                            var    uploadDir      = "/Content/Advertisement/AdvertisementVideo/";
                            string extension      = Path.GetExtension(model.Item.UploadFile.FileName);
                            string uniqueFileName = Guid.NewGuid().ToString();
                            var    videoPath      = Path.Combine(Server.MapPath(uploadDir), uniqueFileName + extension);
                            var    videoUrl       = Path.Combine(uploadDir, uniqueFileName + extension);
                            model.Item.UploadFile.SaveAs(videoPath);

                            AdvertisementItem advertisementget = _advertisementItemService.GetAdvertisementItemById(model.Item.ItemId);
                            if (!string.IsNullOrEmpty(advertisementget.FileURL))
                            {
                                if (System.IO.File.Exists(Server.MapPath(advertisementget.FileURL)))
                                {
                                    System.IO.File.Delete(Server.MapPath(advertisementget.FileURL));
                                }
                            }
                            advertisement.FileURL = videoUrl;
                        }
                        else
                        {
                            statusmessage = "Video File should be less than 10MB";
                        }
                    }
                    else
                    {
                        statusmessage = "Video File should be .mp4 format";
                    }
                }
                _advertisementItemService.UpdateAdvertisementItem(advertisement);
                return(RedirectToAction("Index", "Advertisement", new { message = statusmessage }));
            }
            catch (Exception ex)
            {
                return(Json(ex));
            }
        }
Пример #20
0
        public ActionResult Add(AdvertisementViewModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    // Kiểm tra có chọn hình ảnh hay không
                    if (model.ImageUpload != null)
                    {
                        string fileName  = Path.GetFileNameWithoutExtension(model.ImageUpload.FileName);
                        string extension = Path.GetExtension(model.ImageUpload.FileName);

                        model.Image = fileName + extension;

                        if (_advertisementService.GetAll().Any(ad => ad.Image == model.Image))
                        {
                            ModelState.AddModelError("Image", "Hình ảnh đã tồn tại");

                            return(View(model));
                        }

                        model.ImageUpload.SaveAs(Path.Combine(Server.MapPath("~/Assets/Admin/images/MyImages/Advertisement/"), model.Image));

                        model.CreatedBy       = GetMemberSession().DisplayName;
                        model.CreatedDate     = DateTime.Now;
                        model.UpdateBy        = "";
                        model.UpdatedDate     = null;
                        model.Status          = true;
                        model.MetaKeyword     = "";
                        model.MetaDescription = "";

                        var advertisement = AutoMapper.Mapper.Map <Advertisement>(model);

                        var advertisements = _advertisementService.GetAll().ToList();
                        var maxCount       = advertisements.Count() + 1;

                        if (advertisement.DisplayOrder != maxCount)
                        {
                            var adver = advertisements.FirstOrDefault(ad => ad.DisplayOrder == advertisement.DisplayOrder);

                            adver.DisplayOrder = maxCount;
                        }

                        _advertisementService.Insert(advertisement);
                        _advertisementService.SaveChanges();

                        return(RedirectToAction("Index", "Advertisement"));
                    }
                }
                catch (Exception e)
                {
                }
            }
            return(View(model));
        }
Пример #21
0
        public ActionResult Create()
        {
            var allAdvertisementPositions = EnumUtil.GetValues <Common.AdvertisementPosition>().ToList();

            var viewModel = new AdvertisementViewModel()
            {
                AdvertisementPostions = new SelectList(allAdvertisementPositions)
            };

            return(View(viewModel));
        }
Пример #22
0
        public Advertisement ChangeExpirationDate(int id, AdvertisementViewModel viewModel)
        {
            var model = _context.Advertisements.FirstOrDefault(ad => ad.AdvertisementId == id);

            model.ExpirationDate = viewModel.ExpirationDate;
            model.Description    = viewModel.Description ?? model.Description;
            model.Image          = viewModel.Image ?? model.Image;
            _context.Advertisements.Update(model);
            _context.SaveChanges();
            return(model);
        }
Пример #23
0
        public ActionResult Add(AdvertisementViewModel model)
        {
            model.create_time = DateTime.Now;
            //AutoMapper自动映射
            Mapper.Initialize(cfg => cfg.CreateMap <AdvertisementViewModel, Advertisement>());
            Advertisement models = Mapper.Map <AdvertisementViewModel, Advertisement>(model);

            AdvertisementServices.Add(models);
            AdvertisementServices.SaverChanges();
            return(Json(new { status = "0" }, JsonRequestBehavior.AllowGet));
        }
Пример #24
0
        public ActionResult Update([DataSourceRequest] DataSourceRequest request, AdvertisementViewModel model)
        {
            if (model != null && ModelState.IsValid)
            {
                var ad = this.Data.Advertisements.GetById(model.Id.Value);
                Mapper.Map(model, ad);
                this.Data.SaveChanges();
            }

            return(Json(new[] { model }.ToDataSourceResult(request, ModelState)));
        }
Пример #25
0
        public IActionResult AddAd(AdvertisementViewModel adModel)
        {
            var pictures = new Pictures();
            var files    = HttpContext.Request.Form.Files;

            if (files.Count != 0 || files != null)
            {
                foreach (var file in files)
                {
                    if (!(fileValid(file.FileName)))
                    {
                        TempData["imgMsg"] = "Plik musi być zdjęciem";
                        return(RedirectToAction(nameof(AddAd)));
                    }
                    if (file != null)
                    {
                        string folderPath = Path.Combine(_dir, $"AdPictures");
                        if (!Directory.Exists(folderPath))
                        {
                            Directory.CreateDirectory(folderPath);
                        }
                        string filePath = Path.Combine(folderPath, file.FileName);
                        pictures = new Pictures()
                        {
                            Name = file.FileName, PicturePath = filePath
                        };
                        adModel.PicturesCol.Add(pictures);
                        using (var fs = new FileStream(filePath, FileMode.Create, FileAccess.Write))
                        {
                            file.CopyTo(fs);
                        }
                    }
                }
            }
            var userId        = this.User.FindFirstValue(ClaimTypes.NameIdentifier);
            var advertisement = new Advertisements
            {
                Title       = adModel.Title,
                Description = adModel.Description,
                AdTypes     = adModel.AdTypes,
                UserId      = userId,
                PicturesCol = adModel.PicturesCol,
                Active      = true,
                CreatedOn   = DateTime.Now,
                Views       = 0
            };

            _context.Advertisements.Add(advertisement);
            _context.SaveChanges();
            int id = _context.Advertisements.OrderBy(x => x.Id).LastOrDefault().Id;

            return(RedirectToAction(nameof(AdvertisementDisplay), new { id = id, adName = adModel.Title }));
        }
Пример #26
0
        public IViewComponentResult Invoke(Common.AdvertisementPosition advertisementPosition)
        {
            var advertisement = _advertisementService.GetAdvertisement(advertisementPosition);
            AdvertisementViewModel viewModel = null;
            var viewName = advertisementPosition == Common.AdvertisementPosition.BodyTop ? "TopAdvertisement" : (advertisementPosition == Common.AdvertisementPosition.BodyCenter ? "CenterAdvertisement" : "BottomAdvertisement");

            if (advertisement != null)
            {
                viewModel = _mapper.Map <AdvertisementViewModel>(advertisement);
            }
            return(View(viewName, viewModel));
        }
Пример #27
0
        public ActionResult Create([DataSourceRequest] DataSourceRequest request, AdvertisementViewModel model)
        {
            if (model != null && ModelState.IsValid)
            {
                var dbModel = Mapper.Map <Advertisement>(model);
                this.Data.Advertisements.Add(dbModel);
                this.Data.SaveChanges();
                model.Id = dbModel.Id;
            }

            return(Json(new[] { model }.ToDataSourceResult(request, ModelState)));
        }
Пример #28
0
        public ActionResult Delete(int id)
        {
            AdvertisementViewModel advertisement = advertisementService.GetAdvertisementByID(id);

            if (advertisement == null)
            {
                return(HttpNotFound());
            }

            advertisementService.DeleteAdvertisement(id);
            return(RedirectToAction("PartialViewBusinessandAdvertisement", "BusinessProfile", new { user = User.Identity.Name }));
        }
Пример #29
0
        public async Task <IActionResult> Post(AdvertisementViewModel advertisementViewModel)
        {
            using var client = new ApiClient();
            User user;

            client.Token = Request.Cookies["token"];
            user         = await client.GetUserAsync();

            if (user == null)
            {
                return(RedirectToAction("Login", "Authentication"));
            }

            String imageUri;

            try
            {
                imageUri = UploadImage(advertisementViewModel.ImageFile);
            }
            catch (Exception e)
            {
                imageUri = "/img/default.png";
            }

            Advertisement advertisement = new Advertisement()
            {
                Brand        = advertisementViewModel.Brand,
                Description  = advertisementViewModel.Description,
                FuelType     = advertisementViewModel.FuelType,
                Mileage      = advertisementViewModel.Mileage,
                Model        = advertisementViewModel.Model,
                NumberDoors  = advertisementViewModel.NumberDoors,
                Price        = advertisementViewModel.Price,
                Title        = advertisementViewModel.Title,
                Year         = advertisementViewModel.Year,
                Transmission = advertisementViewModel.Transmission,
                ImageUri     = imageUri,
                IsActive     = true,
                OwnerId      = user.Id
            };

            bool registrationResult = await client.CreateAdvertisementAsync(advertisement);

            if (registrationResult)
            {
                return(RedirectToAction("Index"));
            }
            else
            {
                return(RedirectToAction());
            }
        }
Пример #30
0
        public async System.Threading.Tasks.Task <ActionResult> DetailAsync(int id = 0)
        {
            var advertisement = await _advertisementService.GetAdvertisementById(id);

            if (advertisement != null)
            {
                AdvertisementViewModel viewModel = _mapper.Map <Advertisement, AdvertisementViewModel>(advertisement);
                viewModel.PositionAdvertisement = ((Common.AdvertisementPosition)Enum.ToObject(typeof(Common.AdvertisementPosition), advertisement.Position)).ToString();
                return(View(viewModel));
            }
            ModelState.AddModelError(string.Empty, Constants.UnknowErrorMessage);
            return(RedirectToAction("Index"));
        }
Пример #31
0
        public IActionResult ChangeAdvertisement(AdvertisementViewModel model, IFormFile image)
        {
            if (image != null)
            {
                var memStream = new MemoryStream();
                image.CopyTo(memStream);
                model.Image = memStream.ToArray();
            }
            var ad = Service.GetAdvertisementByNameUser(model.TypeName, model.UserName, model.RegistrationDate.ToString());

            Service.ChangeExpirationDate(ad.AdvertisementId, model);
            return(RedirectToAction(nameof(ManageAdvertisement)));
        }
Пример #32
0
        public ActionResult Edit(AdvertisementViewModel model, string backUrl)
        {
            if (ModelState.IsValid)
            {
                var advertisement = Mapper.Map<Advertisement>(model);

                uow.AdvertisementRepository.Update(advertisement);
                uow.Commit();
                return Redirect(backUrl);
            }

            ViewBag.BackUrl = backUrl;
            return View(model);
        }