Ejemplo n.º 1
0
        public async Task <IActionResult> Elanyerleshdir(CreateAnnouncementViewModel createAnnouncementViewModel)
        {
            ViewBag.Estates   = _context.Estates;
            ViewBag.Rooms     = _context.Rooms;
            ViewBag.Durations = _context.Durations;
            ViewBag.Cities    = _context.Cities;

            CustomUser customUserFromDb = await _userManager.FindByNameAsync(User.Identity.Name);

            if (!ModelState.IsValid)
            {
                ViewBag.Estates   = _context.Estates;
                ViewBag.Rooms     = _context.Rooms;
                ViewBag.Durations = _context.Durations;
                ViewBag.Cities    = _context.Cities;

                return(View(createAnnouncementViewModel));
            }

            if (createAnnouncementViewModel.UploadFiles == null || createAnnouncementViewModel.UploadFiles.Count() < 4 || createAnnouncementViewModel.UploadFiles.Count() > 20)
            {
                ViewBag.Estates   = _context.Estates;
                ViewBag.Rooms     = _context.Rooms;
                ViewBag.Durations = _context.Durations;
                ViewBag.Cities    = _context.Cities;

                ModelState.AddModelError("UploadFiles", "Şəkillərin(.jpg, .jpeg) sayı 4-dən az, 20-dən çox ola bilməz");

                return(View(createAnnouncementViewModel));
            }

            foreach (var file in createAnnouncementViewModel.UploadFiles)
            {
                if (file.Length > (2 * 1024 * 1024))
                {
                    ViewBag.Estates   = _context.Estates;
                    ViewBag.Rooms     = _context.Rooms;
                    ViewBag.Durations = _context.Durations;
                    ViewBag.Cities    = _context.Cities;

                    ModelState.AddModelError("UploadFiles", "Şəklin həcmi 2MB'dan çox ola bilməz.");

                    return(View(createAnnouncementViewModel));
                }
            }

            if (createAnnouncementViewModel.BeenReadRules == false)
            {
                ViewBag.Estates   = _context.Estates;
                ViewBag.Rooms     = _context.Rooms;
                ViewBag.Durations = _context.Durations;
                ViewBag.Cities    = _context.Cities;

                ModelState.AddModelError("BeenReadRules", "Diqqət ! Elan yerləşdirmək üçün qaydalarla tanış olmalısınız.");

                return(View(createAnnouncementViewModel));
            }

            //Find the last announcement which doesn't require payment fee
            Announcement lastSimpleAnnouncement = customUserFromDb.Announcements.Where(announce => announce.IsVIP == false && announce.IsDeleted == false && announce.IsBan == false).OrderByDescending(ann => ann.PublishDate).FirstOrDefault();

            if (lastSimpleAnnouncement != null)
            {
                int lastSimpleAnnouncementDayOfYear = lastSimpleAnnouncement.PublishDate.DayOfYear;

                if (lastSimpleAnnouncement.PublishDate.Year == DateTime.Now.Year)
                {
                    if (DateTime.Now.DayOfYear - lastSimpleAnnouncementDayOfYear <= 30)
                    {
                        ViewBag.Estates   = _context.Estates;
                        ViewBag.Rooms     = _context.Rooms;
                        ViewBag.Durations = _context.Durations;
                        ViewBag.Cities    = _context.Cities;

                        TempData["SimpleAnnouncementLimit"] = true;

                        return(View(createAnnouncementViewModel));
                    }
                }
            }

            Announcement announcement = new Announcement
            {
                IsVIP        = createAnnouncementViewModel.IsVIP,
                Details      = createAnnouncementViewModel.Details,
                Price        = createAnnouncementViewModel.Price,
                ViewCount    = 0,
                PublishDate  = DateTime.Now,
                IsActive     = false,
                IsDeleted    = false,
                IsBan        = false,
                EstateId     = createAnnouncementViewModel.EstateId,
                DurationId   = createAnnouncementViewModel.DurationId,
                CityId       = createAnnouncementViewModel.CityId,
                MonthId      = DateTime.Now.Month,
                CustomUserId = customUserFromDb.Id
            };

            if (createAnnouncementViewModel.EstateId == 1 || createAnnouncementViewModel.EstateId == 2)
            {
                announcement.Area        = createAnnouncementViewModel.Area;
                announcement.AreaForView = createAnnouncementViewModel.Area;
                announcement.RoomId      = createAnnouncementViewModel.RoomId;
            }
            else
            {
                announcement.Area        = createAnnouncementViewModel.AreaParticular;
                announcement.AreaForView = createAnnouncementViewModel.AreaParticular;
            }

            await _context.Announcements.AddAsync(announcement);

            await _context.SaveChangesAsync();

            foreach (var file in createAnnouncementViewModel.UploadFiles)
            {
                if (file.ContentType.Contains("image/jpg") || file.ContentType.Contains("image/jpeg"))
                {
                    string folderPath = Path.Combine(_env.WebRootPath, "MainPageFiles", "images", "announcements");
                    fileName = Guid.NewGuid().ToString() + "_elan_" + file.FileName;
                    string filePath = Path.Combine(folderPath, fileName);

                    using (FileStream fileStream = new FileStream(filePath, FileMode.Create))
                    {
                        await file.CopyToAsync(fileStream);


                        //Add Watermark
                        //var watermarkedStream = new MemoryStream();
                        //Image image = Image.FromStream(fileStream);
                        //using (Graphics graphic = Graphics.FromImage(image))
                        //{
                        //    SolidBrush brush = new SolidBrush(Color.Black);
                        //    Font font = new Font(FontFamily.GenericSansSerif, 20.0F);
                        //    graphic.DrawString("kirayeemlak.az", font, brush, new PointF(100,100));
                        //    image.Save(fileStream, ImageFormat.Png);
                        //}


                        ////Add Watermark
                        //var watermarkedStream = new MemoryStream();
                        //using (var img = Image.FromStream(fileStream))
                        //{
                        //    using (var graphic = Graphics.FromImage(img))
                        //    {
                        //        var font = new Font(FontFamily.GenericSansSerif, 30.0F, FontStyle.Bold, GraphicsUnit.Pixel);
                        //        var color = Color.Black;
                        //        var brush = new SolidBrush(color);
                        //        var point = new Point(100, 100);

                        //        graphic.DrawString("kirayeemlak.az", font, brush, point);
                        //        img.Save(watermarkedStream, ImageFormat.Png);
                        //    }
                        //}
                    }

                    AnnouncementPhoto announcementPhoto = new AnnouncementPhoto
                    {
                        AnnouncementPhotoURL = fileName,
                        AnnouncementId       = announcement.Id
                    };

                    await _context.AnnouncementPhotos.AddAsync(announcementPhoto);

                    await _context.SaveChangesAsync();
                }
                else
                {
                    ViewBag.Estates   = _context.Estates;
                    ViewBag.Rooms     = _context.Rooms;
                    ViewBag.Durations = _context.Durations;
                    ViewBag.Cities    = _context.Cities;

                    ModelState.AddModelError("UploadFiles", "Zəhmət olmasa, .jpg / .jpeg formatda şəkil yükləyin");

                    _context.Announcements.Remove(announcement);
                    await _context.SaveChangesAsync();

                    return(View(createAnnouncementViewModel));
                }
            }

            TempData["AnnouncementCreated"] = true;

            return(RedirectToAction("Menimhesabim", "Hesab"));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Elanaduzelishet(int?Id, AnnouncementViewModel announcementViewModel)
        {
            if (Id == null)
            {
                return(View("Views/Xeta/Index.cshtml"));
            }

            Announcement announcementFromDb = _context.Announcements.Where(announce => announce.IsActive == false && announce.IsDeleted == false && announce.IsBan == false).FirstOrDefault(announcement => announcement.Id == Id);

            if (announcementFromDb == null)
            {
                return(View("Views/Xeta/Index.cshtml"));
            }

            if (!ModelState.IsValid)
            {
                #region ViewBagForPendingAnnouncement
                ViewBag.Estates   = _context.Estates;
                ViewBag.Rooms     = _context.Rooms;
                ViewBag.Durations = _context.Durations;
                ViewBag.Cities    = _context.Cities;

                ViewBag.AnnouncementId   = announcementFromDb.Id;
                ViewBag.SelectedEstateId = announcementFromDb.EstateId;
                ViewBag.SelectedRoomId   = announcementFromDb.RoomId;
                ViewBag.AreaForView      = announcementFromDb.AreaForView;
                ViewBag.Area             = announcementFromDb.Area;
                ViewBag.DurationId       = announcementFromDb.DurationId;
                ViewBag.Price            = announcementFromDb.Price;
                ViewBag.CityId           = announcementFromDb.CityId;
                ViewBag.Details          = announcementFromDb.Details;

                ViewBag.EstateName      = announcementFromDb.Estate.EstateName;
                ViewBag.DurationType    = announcementFromDb.Duration.DurationType;
                ViewBag.CityName        = announcementFromDb.City.CityName;
                ViewBag.IsVIP           = announcementFromDb.IsVIP;
                ViewBag.PublishDateDay  = announcementFromDb.PublishDate.Day;
                ViewBag.MonthName       = announcementFromDb.Month.MonthName;
                ViewBag.PublishDateYear = announcementFromDb.PublishDate.Year;
                ViewBag.ViewCount       = announcementFromDb.ViewCount;

                ViewBag.AnnouncementPhotosFirst = announcementFromDb.AnnouncementPhotos.FirstOrDefault();
                ViewBag.AnnouncementPhotos      = announcementFromDb.AnnouncementPhotos.ToList();

                if (announcementFromDb.EstateId == 1 || announcementFromDb.EstateId == 2)
                {
                    ViewBag.RoomType = announcementFromDb.Room.RoomType;
                }

                ViewBag.CustomUserId = announcementFromDb.CustomUserId;
                ViewBag.CustomUserProfilePictureURL = announcementFromDb.CustomUser.ProfilePictureURL;
                ViewBag.CustomUserFirstName         = announcementFromDb.CustomUser.FirstName;
                ViewBag.CustomUserLastName          = announcementFromDb.CustomUser.LastName;
                ViewBag.CustomUserEmail             = announcementFromDb.CustomUser.Email;
                ViewBag.CustomUserPhoneNumber       = announcementFromDb.CustomUser.PhoneNumber;
                #endregion

                #region AuthorUser
                CustomUser announcementFromDbUser = await _userManager.FindByIdAsync(announcementFromDb.CustomUserId);

                string activeUserName = User.Identity.Name;

                if (activeUserName != null)
                {
                    CustomUser activeUser = await _userManager.FindByNameAsync(activeUserName);

                    if (activeUser != null)
                    {
                        if (announcementFromDbUser.Id == activeUser.Id)
                        {
                            ViewBag.AuthorUser = await _userManager.FindByIdAsync(activeUser.Id);
                        }
                        else
                        {
                            return(View("Views/Xeta/Index.cshtml"));
                        }
                    }
                }
                #endregion

                TempData["ValidationError"] = true;

                return(View("Elangozleyen", announcementViewModel));

                //return RedirectToAction("Elan", new { Id= Id});
            }

            if (announcementViewModel.UploadFiles != null && announcementViewModel.UploadFiles.Count() > 0)
            {
                if (announcementViewModel.UploadFiles.Count() > 20 - announcementFromDb.AnnouncementPhotos.Count())
                {
                    #region ViewBagForPendingAnnouncement
                    ViewBag.Estates   = _context.Estates;
                    ViewBag.Rooms     = _context.Rooms;
                    ViewBag.Durations = _context.Durations;
                    ViewBag.Cities    = _context.Cities;

                    ViewBag.AnnouncementId   = announcementFromDb.Id;
                    ViewBag.SelectedEstateId = announcementFromDb.EstateId;
                    ViewBag.SelectedRoomId   = announcementFromDb.RoomId;
                    ViewBag.AreaForView      = announcementFromDb.AreaForView;
                    ViewBag.Area             = announcementFromDb.Area;
                    ViewBag.DurationId       = announcementFromDb.DurationId;
                    ViewBag.Price            = announcementFromDb.Price;
                    ViewBag.CityId           = announcementFromDb.CityId;
                    ViewBag.Details          = announcementFromDb.Details;

                    ViewBag.EstateName      = announcementFromDb.Estate.EstateName;
                    ViewBag.DurationType    = announcementFromDb.Duration.DurationType;
                    ViewBag.CityName        = announcementFromDb.City.CityName;
                    ViewBag.IsVIP           = announcementFromDb.IsVIP;
                    ViewBag.PublishDateDay  = announcementFromDb.PublishDate.Day;
                    ViewBag.MonthName       = announcementFromDb.Month.MonthName;
                    ViewBag.PublishDateYear = announcementFromDb.PublishDate.Year;
                    ViewBag.ViewCount       = announcementFromDb.ViewCount;

                    ViewBag.AnnouncementPhotosFirst = announcementFromDb.AnnouncementPhotos.FirstOrDefault();
                    ViewBag.AnnouncementPhotos      = announcementFromDb.AnnouncementPhotos.ToList();

                    if (announcementFromDb.EstateId == 1 || announcementFromDb.EstateId == 2)
                    {
                        ViewBag.RoomType = announcementFromDb.Room.RoomType;
                    }

                    ViewBag.CustomUserId = announcementFromDb.CustomUserId;
                    ViewBag.CustomUserProfilePictureURL = announcementFromDb.CustomUser.ProfilePictureURL;
                    ViewBag.CustomUserFirstName         = announcementFromDb.CustomUser.FirstName;
                    ViewBag.CustomUserLastName          = announcementFromDb.CustomUser.LastName;
                    ViewBag.CustomUserEmail             = announcementFromDb.CustomUser.Email;
                    ViewBag.CustomUserPhoneNumber       = announcementFromDb.CustomUser.PhoneNumber;
                    #endregion

                    #region AuthorUser
                    CustomUser announcementFromDbUser = await _userManager.FindByIdAsync(announcementFromDb.CustomUserId);

                    string activeUserName = User.Identity.Name;

                    if (activeUserName != null)
                    {
                        CustomUser activeUser = await _userManager.FindByNameAsync(activeUserName);

                        if (activeUser != null)
                        {
                            if (announcementFromDbUser.Id == activeUser.Id)
                            {
                                ViewBag.AuthorUser = await _userManager.FindByIdAsync(activeUser.Id);
                            }
                            else
                            {
                                return(View("Views/Xeta/Index.cshtml"));
                            }
                        }
                    }
                    #endregion

                    ModelState.AddModelError("UploadFiles", "Elan şəkillərinin(.jpg, .jpeg) sayı 20-dən çox ola bilməz");

                    TempData["ValidationError"] = true;

                    return(View("Elangozleyen", announcementViewModel));
                }

                foreach (var file in announcementViewModel.UploadFiles)
                {
                    if (announcementViewModel.UploadFiles.Count() < 4)
                    {
                        #region ViewBagForPendingAnnouncement
                        ViewBag.Estates   = _context.Estates;
                        ViewBag.Rooms     = _context.Rooms;
                        ViewBag.Durations = _context.Durations;
                        ViewBag.Cities    = _context.Cities;

                        ViewBag.AnnouncementId   = announcementFromDb.Id;
                        ViewBag.SelectedEstateId = announcementFromDb.EstateId;
                        ViewBag.SelectedRoomId   = announcementFromDb.RoomId;
                        ViewBag.AreaForView      = announcementFromDb.AreaForView;
                        ViewBag.Area             = announcementFromDb.Area;
                        ViewBag.DurationId       = announcementFromDb.DurationId;
                        ViewBag.Price            = announcementFromDb.Price;
                        ViewBag.CityId           = announcementFromDb.CityId;
                        ViewBag.Details          = announcementFromDb.Details;

                        ViewBag.EstateName      = announcementFromDb.Estate.EstateName;
                        ViewBag.DurationType    = announcementFromDb.Duration.DurationType;
                        ViewBag.CityName        = announcementFromDb.City.CityName;
                        ViewBag.IsVIP           = announcementFromDb.IsVIP;
                        ViewBag.PublishDateDay  = announcementFromDb.PublishDate.Day;
                        ViewBag.MonthName       = announcementFromDb.Month.MonthName;
                        ViewBag.PublishDateYear = announcementFromDb.PublishDate.Year;
                        ViewBag.ViewCount       = announcementFromDb.ViewCount;

                        ViewBag.AnnouncementPhotosFirst = announcementFromDb.AnnouncementPhotos.FirstOrDefault();
                        ViewBag.AnnouncementPhotos      = announcementFromDb.AnnouncementPhotos.ToList();

                        if (announcementFromDb.EstateId == 1 || announcementFromDb.EstateId == 2)
                        {
                            ViewBag.RoomType = announcementFromDb.Room.RoomType;
                        }

                        ViewBag.CustomUserId = announcementFromDb.CustomUserId;
                        ViewBag.CustomUserProfilePictureURL = announcementFromDb.CustomUser.ProfilePictureURL;
                        ViewBag.CustomUserFirstName         = announcementFromDb.CustomUser.FirstName;
                        ViewBag.CustomUserLastName          = announcementFromDb.CustomUser.LastName;
                        ViewBag.CustomUserEmail             = announcementFromDb.CustomUser.Email;
                        ViewBag.CustomUserPhoneNumber       = announcementFromDb.CustomUser.PhoneNumber;
                        #endregion

                        #region AuthorUser
                        CustomUser announcementFromDbUser = await _userManager.FindByIdAsync(announcementFromDb.CustomUserId);

                        string activeUserName = User.Identity.Name;

                        if (activeUserName != null)
                        {
                            CustomUser activeUser = await _userManager.FindByNameAsync(activeUserName);

                            if (activeUser != null)
                            {
                                if (announcementFromDbUser.Id == activeUser.Id)
                                {
                                    ViewBag.AuthorUser = await _userManager.FindByIdAsync(activeUser.Id);
                                }
                                else
                                {
                                    return(View("Views/Xeta/Index.cshtml"));
                                }
                            }
                        }
                        #endregion

                        ModelState.AddModelError("UploadFiles", "Şəkillərin(.jpg, .jpeg) sayı 4-dən az ola bilməz");

                        TempData["ValidationError"] = true;

                        return(View("Elangozleyen", announcementViewModel));
                    }

                    if (file.Length > (2 * 1024 * 1024))
                    {
                        #region ViewBagForPendingAnnouncement
                        ViewBag.Estates   = _context.Estates;
                        ViewBag.Rooms     = _context.Rooms;
                        ViewBag.Durations = _context.Durations;
                        ViewBag.Cities    = _context.Cities;

                        ViewBag.AnnouncementId   = announcementFromDb.Id;
                        ViewBag.SelectedEstateId = announcementFromDb.EstateId;
                        ViewBag.SelectedRoomId   = announcementFromDb.RoomId;
                        ViewBag.AreaForView      = announcementFromDb.AreaForView;
                        ViewBag.Area             = announcementFromDb.Area;
                        ViewBag.DurationId       = announcementFromDb.DurationId;
                        ViewBag.Price            = announcementFromDb.Price;
                        ViewBag.CityId           = announcementFromDb.CityId;
                        ViewBag.Details          = announcementFromDb.Details;

                        ViewBag.EstateName      = announcementFromDb.Estate.EstateName;
                        ViewBag.DurationType    = announcementFromDb.Duration.DurationType;
                        ViewBag.CityName        = announcementFromDb.City.CityName;
                        ViewBag.IsVIP           = announcementFromDb.IsVIP;
                        ViewBag.PublishDateDay  = announcementFromDb.PublishDate.Day;
                        ViewBag.MonthName       = announcementFromDb.Month.MonthName;
                        ViewBag.PublishDateYear = announcementFromDb.PublishDate.Year;
                        ViewBag.ViewCount       = announcementFromDb.ViewCount;

                        ViewBag.AnnouncementPhotosFirst = announcementFromDb.AnnouncementPhotos.FirstOrDefault();
                        ViewBag.AnnouncementPhotos      = announcementFromDb.AnnouncementPhotos.ToList();

                        if (announcementFromDb.EstateId == 1 || announcementFromDb.EstateId == 2)
                        {
                            ViewBag.RoomType = announcementFromDb.Room.RoomType;
                        }

                        ViewBag.CustomUserId = announcementFromDb.CustomUserId;
                        ViewBag.CustomUserProfilePictureURL = announcementFromDb.CustomUser.ProfilePictureURL;
                        ViewBag.CustomUserFirstName         = announcementFromDb.CustomUser.FirstName;
                        ViewBag.CustomUserLastName          = announcementFromDb.CustomUser.LastName;
                        ViewBag.CustomUserEmail             = announcementFromDb.CustomUser.Email;
                        ViewBag.CustomUserPhoneNumber       = announcementFromDb.CustomUser.PhoneNumber;
                        #endregion

                        #region AuthorUser
                        CustomUser announcementFromDbUser = await _userManager.FindByIdAsync(announcementFromDb.CustomUserId);

                        string activeUserName = User.Identity.Name;

                        if (activeUserName != null)
                        {
                            CustomUser activeUser = await _userManager.FindByNameAsync(activeUserName);

                            if (activeUser != null)
                            {
                                if (announcementFromDbUser.Id == activeUser.Id)
                                {
                                    ViewBag.AuthorUser = await _userManager.FindByIdAsync(activeUser.Id);
                                }
                                else
                                {
                                    return(View("Views/Xeta/Index.cshtml"));
                                }
                            }
                        }
                        #endregion

                        ModelState.AddModelError("UploadFiles", "Şəklin həcmi 2MB'dan çox ola bilməz.");

                        TempData["ValidationError"] = true;

                        return(View("Elangozleyen", announcementViewModel));
                    }

                    if (file.ContentType.Contains("image/jpg") || file.ContentType.Contains("image/jpeg"))
                    {
                        //foreach (var announcementPhotoFile in announcementFromDb.AnnouncementPhotos.ToList())
                        //{
                        //    string announcementPhotoFilePath = Path.Combine(_env.WebRootPath, "MainPageFiles", "images", "announcements", announcementPhotoFile.AnnouncementPhotoURL);
                        //    if (System.IO.File.Exists(announcementPhotoFilePath))
                        //    {
                        //        System.IO.File.Delete(announcementPhotoFilePath);
                        //    }

                        //    _context.AnnouncementPhotos.Remove(announcementPhotoFile);
                        //    await _context.SaveChangesAsync();
                        //}

                        string folderPath = Path.Combine(_env.WebRootPath, "MainPageFiles", "images", "announcements");
                        fileName = Guid.NewGuid().ToString() + "_elan_" + file.FileName;
                        string filePath = Path.Combine(folderPath, fileName);

                        using (FileStream fileStream = new FileStream(filePath, FileMode.Create))
                        {
                            await file.CopyToAsync(fileStream);
                        }

                        AnnouncementPhoto announcementPhoto = new AnnouncementPhoto
                        {
                            AnnouncementPhotoURL = fileName,
                            AnnouncementId       = announcementFromDb.Id
                        };

                        await _context.AnnouncementPhotos.AddAsync(announcementPhoto);

                        await _context.SaveChangesAsync();
                    }
                    else
                    {
                        #region ViewBagForPendingAnnouncement
                        ViewBag.Estates   = _context.Estates;
                        ViewBag.Rooms     = _context.Rooms;
                        ViewBag.Durations = _context.Durations;
                        ViewBag.Cities    = _context.Cities;

                        ViewBag.AnnouncementId   = announcementFromDb.Id;
                        ViewBag.SelectedEstateId = announcementFromDb.EstateId;
                        ViewBag.SelectedRoomId   = announcementFromDb.RoomId;
                        ViewBag.AreaForView      = announcementFromDb.AreaForView;
                        ViewBag.Area             = announcementFromDb.Area;
                        ViewBag.DurationId       = announcementFromDb.DurationId;
                        ViewBag.Price            = announcementFromDb.Price;
                        ViewBag.CityId           = announcementFromDb.CityId;
                        ViewBag.Details          = announcementFromDb.Details;

                        ViewBag.EstateName      = announcementFromDb.Estate.EstateName;
                        ViewBag.DurationType    = announcementFromDb.Duration.DurationType;
                        ViewBag.CityName        = announcementFromDb.City.CityName;
                        ViewBag.IsVIP           = announcementFromDb.IsVIP;
                        ViewBag.PublishDateDay  = announcementFromDb.PublishDate.Day;
                        ViewBag.MonthName       = announcementFromDb.Month.MonthName;
                        ViewBag.PublishDateYear = announcementFromDb.PublishDate.Year;
                        ViewBag.ViewCount       = announcementFromDb.ViewCount;

                        ViewBag.AnnouncementPhotosFirst = announcementFromDb.AnnouncementPhotos.FirstOrDefault();
                        ViewBag.AnnouncementPhotos      = announcementFromDb.AnnouncementPhotos.ToList();

                        if (announcementFromDb.EstateId == 1 || announcementFromDb.EstateId == 2)
                        {
                            ViewBag.RoomType = announcementFromDb.Room.RoomType;
                        }

                        ViewBag.CustomUserId = announcementFromDb.CustomUserId;
                        ViewBag.CustomUserProfilePictureURL = announcementFromDb.CustomUser.ProfilePictureURL;
                        ViewBag.CustomUserFirstName         = announcementFromDb.CustomUser.FirstName;
                        ViewBag.CustomUserLastName          = announcementFromDb.CustomUser.LastName;
                        ViewBag.CustomUserEmail             = announcementFromDb.CustomUser.Email;
                        ViewBag.CustomUserPhoneNumber       = announcementFromDb.CustomUser.PhoneNumber;
                        #endregion

                        #region AuthorUser
                        CustomUser announcementFromDbUser = await _userManager.FindByIdAsync(announcementFromDb.CustomUserId);

                        string activeUserName = User.Identity.Name;

                        if (activeUserName != null)
                        {
                            CustomUser activeUser = await _userManager.FindByNameAsync(activeUserName);

                            if (activeUser != null)
                            {
                                if (announcementFromDbUser.Id == activeUser.Id)
                                {
                                    ViewBag.AuthorUser = await _userManager.FindByIdAsync(activeUser.Id);
                                }
                                else
                                {
                                    return(View("Views/Xeta/Index.cshtml"));
                                }
                            }
                        }
                        #endregion

                        ModelState.AddModelError("UploadFiles", "Zəhmət olmasa, .jpg / .jpeg formatda şəkil yükləyin");

                        TempData["ValidationError"] = true;

                        return(View("Elangozleyen", announcementViewModel));
                    }
                }
            }

            announcementFromDb.IsVIP      = announcementViewModel.IsVIP;
            announcementFromDb.Details    = announcementViewModel.Details;
            announcementFromDb.Price      = announcementViewModel.Price;
            announcementFromDb.UpdateDate = DateTime.Now;
            announcementFromDb.EstateId   = announcementViewModel.EstateId;
            announcementFromDb.DurationId = announcementViewModel.DurationId;
            announcementFromDb.CityId     = announcementViewModel.CityId;
            announcementFromDb.MonthId    = DateTime.Now.Month;

            if (announcementViewModel.EstateId == 1 || announcementViewModel.EstateId == 2)
            {
                announcementFromDb.Area        = announcementViewModel.Area;
                announcementFromDb.AreaForView = announcementViewModel.Area;
                announcementFromDb.RoomId      = announcementViewModel.RoomId;
            }
            else
            {
                announcementFromDb.Area        = announcementViewModel.AreaForView;
                announcementFromDb.AreaForView = announcementViewModel.AreaForView;
            }

            announcementFromDb.IsActive  = false;
            announcementFromDb.IsDeleted = false;
            announcementFromDb.IsBan     = false;

            await _context.SaveChangesAsync();

            TempData["AnnouncementUpdated"] = true;

            return(RedirectToAction("Menimhesabim", "Hesab"));
        }