Beispiel #1
0
        public void SetApartmentDefaultPhoto(Apartment apartment, ApartmentPhoto photo)
        {
            Apartment Apartment = context
                                  .Apartments
                                  .Include(m => m.ApartmentPhotos)
                                  .Where(m => m.ApartmentId == apartment.ApartmentId)
                                  .FirstOrDefault();

            Apartment.DefaultPhoto = photo;
            context.SaveChanges();
        }
Beispiel #2
0
        public void RemoveApartmentPhoto(long?ApartmentPhotoId)
        {
            List <ApartmentPhotoLink> photoToDelete = context.ApartmentPhotosLinks.Where(m => m.ApartmentPhotoId == ApartmentPhotoId).ToList();

            foreach (var photo in photoToDelete)
            {
                File.Delete(System.Web.Hosting.HostingEnvironment.MapPath(photo.Link));
                context.ApartmentPhotosLinks.Remove(photo);
            }
            ApartmentPhoto Photo = context.ApartmentPhotos.Find(ApartmentPhotoId);

            context.ApartmentPhotos.Remove(Photo);
            context.SaveChanges();
        }
Beispiel #3
0
        public void AddApartmentPhoto(Apartment apartment, ApartmentPhoto photo)
        {
            Apartment Apartment = context
                                  .Apartments
                                  .Include(m => m.ApartmentPhotos)
                                  .Include(m => m.DefaultPhoto)
                                  .Where(m => m.ApartmentId == apartment.ApartmentId)
                                  .FirstOrDefault();

            Apartment.ApartmentPhotos.Add(photo);

            context.SaveChanges();
            if (Apartment.DefaultPhoto == null)
            {
                SetApartmentDefaultPhoto(Apartment, photo);
            }
        }
Beispiel #4
0
        public ActionResult EditApartmentPhoto(EditApartmentPhotoViewResult newApartment)
        {
            if (ModelState.IsValid)
            {
                if (newApartment.InputImages != null)
                {
                    Apartment apartment       = _apartmentRepository.GetApartment(newApartment.ApartmentId);
                    var       Photos          = _apartmentRepository.GetApartmentPhotos(apartment);
                    var       HasDafaultPhoto = true;
                    if (Photos.Count == 0)
                    {
                        HasDafaultPhoto = false;
                    }
                    foreach (var photo in newApartment.InputImages.Where(m => m != null))
                    {
                        int height, width, max;
                        int centerx, centery;
                        int offsetx, offsety;
                        using (System.Drawing.Image image = System.Drawing.Image.FromStream(photo.InputStream, true, true))
                        {
                            height  = image.Height;
                            width   = image.Width;
                            centerx = width / 2;
                            centery = height / 2;
                            if (height > width)
                            {
                                max     = width;
                                offsetx = 0;
                                offsety = centery - max / 2;
                            }
                            else
                            {
                                max     = height;
                                offsety = 0;
                                offsetx = centerx - max / 2;
                            }
                        }
                        ApartmentPhoto Photo = new ApartmentPhoto {
                            ApartmentId = newApartment.ApartmentId, Links = new List <ApartmentPhotoLink>()
                        };
                        Photo.Links.Add(new ApartmentPhotoLink {
                            Link = PreviewCreator.SaveImage(photo.InputStream), TypeId = 1
                        });
                        Photo.Links.Add(new ApartmentPhotoLink {
                            Link = PreviewCreator.SaveImageAndResize(photo.InputStream, (int)offsetx, (int)offsety, (int)max, (int)max, new System.Drawing.Size(550, 550)), TypeId = 2
                        });
                        Photo.Links.Add(new ApartmentPhotoLink {
                            Link = PreviewCreator.SaveImageAndResize(photo.InputStream, (int)offsetx, (int)offsety, (int)max, (int)max, new System.Drawing.Size(100, 100)), TypeId = 3
                        });

                        _apartmentRepository.AddApartmentPhoto(apartment, Photo);
                        if (!HasDafaultPhoto)
                        {
                            _apartmentRepository.SetApartmentDefaultPhoto(apartment, Photo);
                        }
                        HasDafaultPhoto           = true;
                        TempData["toastrMessage"] = String.Format("Квартира изменена");
                        TempData["toastrType"]    = "success";
                    }
                }
            }
            else
            {
            }

            return(RedirectToAction("EditApartmentPhoto"));
        }