public List <MyPublicationsViewModel> GetMyPublications(int idUser)
        {
            var publications = (from p in this._db.Publication
                                where p.IdUser == 1
                                select new { p.IdPublication,
                                             p.Title, p.Description,
                                             (from publicationImage in this._db.PublicationImage
                                              where publicationImage.IdPublication == p.IdPublication
                                              select new { publicationImage.Image }
                                             ).FirstOrDefault().Image,
                                             p.Available }).ToList();

            List <MyPublicationsViewModel> myPublicationsViewModelsList = new List <MyPublicationsViewModel>();
            MyPublicationsViewModel        myPublicationsViewModel      = new MyPublicationsViewModel();

            foreach (var publication in publications)
            {
                myPublicationsViewModelsList.Add(new MyPublicationsViewModel {
                    PublicationId = publication.IdPublication,
                    Title         = publication.Title,
                    Description   = publication.Description,
                    Image         = publication.Image,
                    Available     = publication.Available
                });
            }

            return(myPublicationsViewModelsList);
        }
Пример #2
0
        public ActionResult ÄctivePublication(Guid id)
        {
            var model = new List <MyPublicationsViewModel>();

            this.publicationService.ActivatePublication(id);

            List <Publication> publications = this.publicationService.GetArchivedPublications(User.Identity.GetUserId()).ToList();

            for (int i = 0; i < publications.Count; i++)
            {
                string imageName          = publications[i].Images.Select(x => x.Name).FirstOrDefault();
                string categoryName       = this.categoryService.GetCategoryNameById(publications[i].CategoryId);
                string subCategoryName    = this.subCategoryService.GetSubCategoryNameById(publications[i].SubCategoryId);
                string SubSubCategoryName = publications[i].SubSubCategoryId.HasValue ? this.subSubCategoryService.GetNameById(publications[i].SubSubCategoryId.Value) : null;

                var currentPublication = new MyPublicationsViewModel()
                {
                    AddedOn          = publications[i].AddedOn,
                    AddedAsFavourite = publications[i].AddAssFavourite,
                    ImageName        = "~/Content/Images/" + this.userService.GetUserNameById(publications[i].ApplicationUserId) + "/" + publications[i].Id + "/" + imageName,
                    isActive         = publications[i].IsActive,
                    PublicationID    = publications[i].Id,
                    Title            = publications[i].Title,
                    ViewPhone        = publications[i].ViewPhone,
                    Views            = publications[i].Views,
                    MessagesNumbers  = this.chatService.GetChatCountForPublication(publications[i].Id),
                };

                currentPublication.Price = this.publicationModelService.GetPrice(categoryName, subCategoryName, publications[i].PublicationDetailsId);

                model.Add(currentPublication);
            }

            return(this.PartialView("MyAccountArchivedPartial", model));
        }
Пример #3
0
        public ActionResult MyAccount()
        {
            List <Publication> userPublications = this.publicationService.GetPublicatrionsForUser(User.Identity.GetUserId()).ToList();
            var model = new MyAccountViewModel()
            {
                publications = new PublicationDetailsViewModel()
            };
            var modelPublicationsActive   = new List <MyPublicationsViewModel>();
            var modelPublicationsArchived = new List <MyPublicationsViewModel>();


            for (int i = 0; i < userPublications.Count; i++)
            {
                string imageName          = userPublications[i].Images.Select(x => x.Name).FirstOrDefault();
                string categoryName       = this.categoryService.GetCategoryNameById(userPublications[i].CategoryId);
                string subCategoryName    = this.subCategoryService.GetSubCategoryNameById(userPublications[i].SubCategoryId);
                string SubSubCategoryName = userPublications[i].SubSubCategoryId.HasValue ? this.subSubCategoryService.GetNameById(userPublications[i].SubSubCategoryId.Value) : null;

                var currentPublication = new MyPublicationsViewModel()
                {
                    AddedOn          = userPublications[i].AddedOn,
                    AddedAsFavourite = userPublications[i].AddAssFavourite,
                    ImageName        = "~/Content/Images/" + this.userService.GetUserNameById(userPublications[i].ApplicationUserId) + "/" + userPublications[i].Id + "/" + imageName,
                    isActive         = userPublications[i].IsActive,
                    PublicationID    = userPublications[i].Id,
                    Title            = userPublications[i].Title,
                    ViewPhone        = userPublications[i].ViewPhone,
                    Views            = userPublications[i].Views,
                    MessagesNumbers  = this.chatService.GetChatCountForPublication(userPublications[i].Id),
                };

                if (categoryName == "Електроника")
                {
                    currentPublication.Price = this.publicationDetailsService.GetPriceByIdElectronic(userPublications[i].PublicationDetailsId);
                }
                else if (categoryName == "Животни")
                {
                    currentPublication.Price = this.publicationDetailsService.GetPriceByIdAnimals(userPublications[i].PublicationDetailsId);
                }
                else if (categoryName == "за бебето и детето")
                {
                    if (subCategoryName == "Обувки" || subCategoryName == "Дрехи")
                    {
                        currentPublication.Price = this.publicationDetailsService.GetPriceByIdChildrens(userPublications[i].PublicationDetailsId);
                    }
                    else
                    {
                        currentPublication.Price = this.publicationDetailsService.GetPriceByIdInitial(userPublications[i].PublicationDetailsId);
                    }
                }
                else if (categoryName == "Екскурзии и почивки")
                {
                    currentPublication.Price = this.publicationDetailsService.GetPriceByIdHolidays(userPublications[i].PublicationDetailsId);
                }
                else if (categoryName == "Мода")
                {
                    if ((subCategoryName == "Мъжки Дрехи" || subCategoryName == "Женски Дрехи"))
                    {
                        currentPublication.Price = this.publicationDetailsService.GetPriceByIdClothes(userPublications[i].PublicationDetailsId);
                    }
                    else if (subCategoryName == "Мъжки Обувки" || subCategoryName == "Женски Обувки")
                    {
                        currentPublication.Price = this.publicationDetailsService.GetPriceByIdShoes(userPublications[i].PublicationDetailsId);
                    }
                    else
                    {
                        currentPublication.Price = this.publicationDetailsService.GetPriceByIdInitial(userPublications[i].PublicationDetailsId);
                    }
                }
                else
                {
                    currentPublication.Price = this.publicationDetailsService.GetPriceByIdInitial(userPublications[i].PublicationDetailsId);
                }

                if (userPublications[i].IsActive)
                {
                    modelPublicationsActive.Add(currentPublication);
                }
                else
                {
                    modelPublicationsArchived.Add(currentPublication);
                }
            }

            model.publications.ActivePublication   = modelPublicationsActive;
            model.publications.ArchivedPublication = modelPublicationsArchived;

            return(this.View(model));
        }