public async Task <EstateObjectViewModel> Model(EstateObject eo)
        {
            List <Picture> pictures = await EstateObjectsRepository.Pictures(eo.Id);

            EstateObjectViewModel model = new EstateObjectViewModel
            {
                Id              = eo.Id,
                Price           = eo.Price,
                Address         = eo.Address,
                Description     = eo.Description,
                Area            = eo.Area,
                Rooms           = eo.Rooms,
                LandDescription = eo.LandDescription,
                LandArea        = eo.LandArea,
                District        = eo.District.Name,
                RealtyType      = eo.RealtyType.Name,
                TradeType       = eo.TradeType.Name,
                Owner           = eo.Owner.Phone,
                Pictures        = pictures,
                RealtyTypeId    = eo.RealtyTypeId,
                TradeTypeId     = eo.TradeTypeId,
                DistrictId      = eo.DistrictId,
                OwnerId         = eo.OwnerId,
                RealtyTypes     = PrepareRealtyTypes(),
                TradeTypes      = PrepareTradeTypes(),
                Districts       = PrepareDistricts(),
                Owners          = PrepareOwners(),
            };

            return(model);
        }
        public async Task <ActionResult> DeleteTrade(EstateObjectViewModel model)
        {
            int estateObjectId = model.Id;
            await _tradeService.DeleteTrade(estateObjectId);

            return(RedirectToAction("AcceptedRequests"));
        }
Example #3
0
 public async Task <ActionResult> CreateImage(EstateObjectViewModel eo, HttpPostedFileBase uploadImage)
 {
     if (uploadImage != null)
     {
         await EstateObjectsRepository.CreatePicture(eo, uploadImage);
     }
     return(RedirectToAction("UpdateEstateObject", new { id = eo.Id }));
 }
Example #4
0
        public async Task <ActionResult> DeleteEstateObject(int id)
        {
            Agency                db     = new Agency();
            EstateObject          result = db.EstateObjects.FirstOrDefault(f => f.Id == id);
            EstateObjectViewModel model  = await _estateObjectService.Model(result);

            return(View(model));
        }
Example #5
0
        public async Task <ActionResult> UpdateEstateObject(int id)
        {
            Agency       db = new Agency();
            EstateObject eo = await db.EstateObjects.FirstOrDefaultAsync(f => f.Id == id);

            EstateObjectViewModel model = await _estateObjectService.Model(eo);

            return(View(model));
        }
        public async Task <ActionResult> Buy(EstateObjectViewModel model)
        {
            Agency           db             = new Agency();
            int              clientId       = Convert.ToInt32(User.Identity.Name);
            int              estateObjectId = model.Id;
            MessageViewModel error          = await _tradeService.CreateRequest(clientId, estateObjectId);

            return(RedirectToAction("ClientMessage", new { type = error.Type, message = error.Message }));
        }
Example #7
0
        public ActionResult AddEstateObject(int realtyType)
        {
            EstateObjectViewModel model = _estateObjectService.Model();
            Agency     db     = new Agency();
            RealtyType result = db.RealtyTypes.FirstOrDefault(f => f.Id == realtyType);

            model.RealtyTypeId = realtyType;
            model.RealtyType   = result.Name;
            return(View(model));
        }
        public EstateObjectViewModel Model()
        {
            EstateObjectViewModel model = new EstateObjectViewModel
            {
                RealtyTypes = PrepareRealtyTypes(),
                TradeTypes  = PrepareTradeTypes(),
                Districts   = PrepareDistricts(),
                Owners      = PrepareOwners(),
            };

            return(model);
        }
        public async Task <ActionResult> ViewRequest(EstateObjectViewModel model)
        {
            int managerId            = Convert.ToInt32(User.Identity.Name);
            MessageViewModel message = await tradeService.CreateTrade(model.Id, managerId);

            if (message.Type != null)
            {
                return(RedirectToAction("ManagerMessage", new { type = message.Type, message = message.Message }));
            }
            else
            {
                return(RedirectToAction("Requests"));
            }
        }
Example #10
0
        public async Task <ActionResult> AddEstateObject(EstateObjectViewModel model)
        {
            if (!ModelState.IsValid)
            {
                Agency     db     = new Agency();
                RealtyType result = db.RealtyTypes.FirstOrDefault(f => f.Id == model.RealtyTypeId);
                model = _estateObjectService.Model();
                model.RealtyTypeId = result.Id;
                model.RealtyType   = result.Name;
                return(View(model));
            }

            EstateObject eo = await _estateObjectService.EstateObject(model);

            eo.StatusId = 1;
            await _estateObjectService.AddEstateObject(eo);

            return(RedirectToAction("Index"));
        }
Example #11
0
        public async Task <ActionResult> UpdateEstateObject(EstateObjectViewModel model)
        {
            if (ModelState.IsValid)
            {
                EstateObject eo = await _estateObjectService.EstateObject(model);

                await _estateObjectService.UpdateEstateObject(eo);

                return(RedirectToAction("Index"));
            }
            else
            {
                Agency       db = new Agency();
                EstateObject eo = await db.EstateObjects.FirstOrDefaultAsync(f => f.Id == model.Id);

                model = await _estateObjectService.Model(eo);

                return(View(model));
            }
        }
        public async Task <EstateObject> EstateObject(EstateObjectViewModel model)
        {
            List <Picture> pictures = await EstateObjectsRepository.Pictures(model.Id);

            EstateObject eo = new EstateObject
            {
                Id              = model.Id,
                Price           = model.Price,
                Address         = model.Address,
                Description     = model.Description,
                Area            = model.Area,
                Rooms           = model.Rooms,
                LandDescription = model.LandDescription,
                LandArea        = model.LandArea,
                RealtyTypeId    = model.RealtyTypeId,
                TradeTypeId     = model.TradeTypeId,
                DistrictId      = model.DistrictId,
                OwnerId         = model.OwnerId,
                StatusId        = 1,
            };

            return(eo);
        }
        public static async Task CreatePicture(EstateObjectViewModel eo, HttpPostedFileBase uploadImage)
        {
            using (Agency db = new Agency())
            {
                byte[] imageData = null;
                // считываем переданный файл в массив байтов
                using (var binaryReader = new BinaryReader(uploadImage.InputStream))
                {
                    imageData = binaryReader.ReadBytes(uploadImage.ContentLength);
                }
                // установка массива байтов
                Picture pic = new Picture
                {
                    Path = imageData
                };

                db.Pictures.Add(pic);
                PictureObjectLink pol = new PictureObjectLink {
                    EstateObjectId = eo.Id, PictureId = pic.Id
                };
                db.PictureObjectLinks.Add(pol);
                await db.SaveChangesAsync();
            }
        }
Example #14
0
 public ActionResult StartAddEstateObject(EstateObjectViewModel model)
 {
     return(RedirectToAction("AddEstateObject", new { realtyType = model.RealtyTypeId }));
 }
Example #15
0
        public ActionResult StartAddEstateObject()
        {
            EstateObjectViewModel model = _estateObjectService.Model();

            return(View(model));
        }
Example #16
0
        public async Task <ActionResult> DeleteEstateObject(EstateObjectViewModel model)
        {
            await _estateObjectService.DeleteEstateObject(model.Id);

            return(RedirectToAction("Index"));
        }