public async Task CreateAsync(CreateEstatesInputModel inputModel)
        {
            var estate = new RealEstate
            {
                Name           = inputModel.Name,
                Municipality   = inputModel.Municipality,
                Region         = inputModel.Region,
                ResidentalArea = inputModel.ResidentalArea,
                Basements      = inputModel.Basements,
                Floors         = inputModel.Floors,
                BuildingNumber = inputModel.BuildingNumber,
                Attics         = inputModel.Attics,
                Elevator       = inputModel.Elevator,
                EntranceNumber = inputModel.EntranceNumber,
                Garages        = inputModel.Garages,
                PostCode       = inputModel.PostCode,
                StreetName     = inputModel.StreetName,
                StreetNumber   = inputModel.StreetNumber,
                Town           = inputModel.Town,
            };

            await this.repository.AddAsync(estate);

            await this.repository.SaveChangesAsync();
        }
        public IActionResult Update(int id, CreateEstatesInputModel inputModel)
        {
            if (!this.ModelState.IsValid)
            {
                var model = this.estatesService.Get(id);
                return(this.View(model));
            }

            this.estatesService.Update(id, inputModel);
            return(this.Redirect("/Estates/All"));
        }
        public async Task <IActionResult> Create(CreateEstatesInputModel inputModel)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.View());
            }

            await this.estatesService.CreateAsync(inputModel);

            return(this.Redirect("/Estates/All"));

            // return this.Json(inputModel);
        }
        public void Update(int id, CreateEstatesInputModel inputModel)
        {
            var estate = this.repository.All().Where(x => x.Id == id).FirstOrDefault();

            estate.Name           = inputModel.Name;
            estate.StreetNumber   = inputModel.StreetNumber;
            estate.StreetName     = inputModel.StreetName;
            estate.Attics         = inputModel.Attics;
            estate.Basements      = inputModel.Basements;
            estate.BuildingNumber = inputModel.BuildingNumber;
            estate.Elevator       = inputModel.Elevator;
            estate.EntranceNumber = inputModel.EntranceNumber;
            estate.Floors         = inputModel.Floors;
            estate.Garages        = inputModel.Garages;
            estate.Municipality   = inputModel.Municipality;
            estate.PostCode       = inputModel.PostCode;
            estate.Region         = inputModel.Region;
            estate.ResidentalArea = inputModel.ResidentalArea;
            estate.Town           = inputModel.Town;
            this.repository.Update(estate);
            this.repository.SaveChangesAsync().GetAwaiter().GetResult();
        }
        public IActionResult Create()
        {
            var viewModel = new CreateEstatesInputModel();

            return(this.View(viewModel));
        }