private RealEstate CreateRealEstate(CreateRealEstateViewModel realEstate, GoogleAddress addressFull) { var userId = this.User.Identity.GetUserId(); var currentlyLoggedUser = this.usersService.GetUserDetailsById(userId); realEstate.Country = addressFull.Components[3].LongName; realEstate.City = addressFull.Components[1].LongName; var dbRealEstate = this.Mapper.Map <RealEstate>(realEstate); dbRealEstate.PublisherId = userId; if (currentlyLoggedUser.MyOwnAgencyId != null) { dbRealEstate.AgencyId = currentlyLoggedUser.MyOwnAgencyId; } dbRealEstate.Latitude = addressFull.Coordinates.Latitude; dbRealEstate.Longitude = addressFull.Coordinates.Longitude; var visitors = new VisitorsDetails(); visitors.AllUsers.Add(currentlyLoggedUser); var visitorsDetailsId = this.visitorsService.Add(visitors); dbRealEstate.VisitorsDetailsId = visitorsDetailsId; dbRealEstate.VisitorsDetails = visitors; return(dbRealEstate); }
public GoogleAddress GetRealAddress(CreateRealEstateViewModel realEstate) { var geocoder = new GoogleGeocoder(); if (realEstate.Address != null && realEstate.Address.Length > 5) { List <GoogleAddress> addresses = geocoder.Geocode(realEstate.Address).ToList(); var fullAddress = addresses[0]; return(fullAddress); } return(null); }
public GoogleAddress GetRealAddress(CreateRealEstateViewModel realEstate) { var geocoder = new GoogleGeocoder(); if (realEstate.Address != null && realEstate.Address.Length > 5) { List<GoogleAddress> addresses = geocoder.Geocode(realEstate.Address).ToList(); var fullAddress = addresses[0]; return fullAddress; } return null; }
public override async Task <ActionResult> CreateRealEstate(CreateRealEstateViewModel realEstateInput, IEnumerable <HttpPostedFileBase> files) { var userId = this.User.Identity.GetUserId(); var currentlyLoggedUser = this.usersService.GetUserDetailsById(userId); //is offer gold and any offers left if ((int)realEstateInput.OfferType == 1 && currentlyLoggedUser.MyOwnAgency.PackageValue > 0) { currentlyLoggedUser.MyOwnAgency.PackageValue -= 1; this.usersService.Update(currentlyLoggedUser); } return(await base.CreateRealEstate(realEstateInput, files)); }
public override async Task<ActionResult> CreateRealEstate(CreateRealEstateViewModel realEstateInput, IEnumerable<HttpPostedFileBase> files) { var userId = this.User.Identity.GetUserId(); var currentlyLoggedUser = this.usersService.GetUserDetailsById(userId); //is offer gold and any offers left if ((int)realEstateInput.OfferType == 1 && currentlyLoggedUser.MyOwnAgency.PackageValue >0) { currentlyLoggedUser.MyOwnAgency.PackageValue -= 1; this.usersService.Update(currentlyLoggedUser); } return await base.CreateRealEstate(realEstateInput, files); }
public virtual async Task<ActionResult> CreateRealEstate(CreateRealEstateViewModel realEstateInput, IEnumerable<HttpPostedFileBase> files) { var addressFull = this.util.GetRealAddress(realEstateInput); var address = @addressFull.FormattedAddress; if (!this.ModelState.IsValid) { return this.View(realEstateInput); } if (address != null) { RealEstate dbRealEstate = CreateRealEstate(realEstateInput, addressFull); this.realEstatesService.Add(dbRealEstate); var realEstateEncodedId = this.realEstatesService.EncodeId(dbRealEstate.Id); foreach (var photo in files) { this.SavePhoto(dbRealEstate, realEstateEncodedId, photo); } if((int)realEstateInput.OfferType == 1 && dbRealEstate.Publisher.MyOwnAgencyId == null) { return this.RedirectToAction("CreateInvoiceRegularUser", "Invoices", new { id = realEstateEncodedId }); } else if((int)realEstateInput.OfferType == 1 && dbRealEstate.Publisher.MyOwnAgencyId !=null) { var agencyEncodedId = this.realEstatesService.EncodeId((int)dbRealEstate.Publisher.MyOwnAgencyId); return this.RedirectToAction("CreateInvoiceForOneOffer", "Invoices", new { id = agencyEncodedId}); } return this.RedirectToAction("RealEstateDetails", "RealEstates", new { id = realEstateEncodedId }); } else { return this.RedirectToAction("Index", "Home"); } }
public virtual async Task <ActionResult> CreateRealEstate(CreateRealEstateViewModel realEstateInput, IEnumerable <HttpPostedFileBase> files) { var addressFull = this.util.GetRealAddress(realEstateInput); var address = @addressFull.FormattedAddress; if (!this.ModelState.IsValid) { return(this.View(realEstateInput)); } if (address != null) { RealEstate dbRealEstate = CreateRealEstate(realEstateInput, addressFull); this.realEstatesService.Add(dbRealEstate); var realEstateEncodedId = this.realEstatesService.EncodeId(dbRealEstate.Id); foreach (var photo in files) { this.SavePhoto(dbRealEstate, realEstateEncodedId, photo); } if ((int)realEstateInput.OfferType == 1 && dbRealEstate.Publisher.MyOwnAgencyId == null) { return(this.RedirectToAction("CreateInvoiceRegularUser", "Invoices", new { id = realEstateEncodedId })); } else if ((int)realEstateInput.OfferType == 1 && dbRealEstate.Publisher.MyOwnAgencyId != null) { var agencyEncodedId = this.realEstatesService.EncodeId((int)dbRealEstate.Publisher.MyOwnAgencyId); return(this.RedirectToAction("CreateInvoiceForOneOffer", "Invoices", new { id = agencyEncodedId })); } return(this.RedirectToAction("RealEstateDetails", "RealEstates", new { id = realEstateEncodedId })); } else { return(this.RedirectToAction("Index", "Home")); } }
private RealEstate CreateRealEstate(CreateRealEstateViewModel realEstate, GoogleAddress addressFull) { var userId = this.User.Identity.GetUserId(); var currentlyLoggedUser = this.usersService.GetUserDetailsById(userId); realEstate.Country = addressFull.Components[3].LongName; realEstate.City = addressFull.Components[1].LongName; var dbRealEstate = this.Mapper.Map<RealEstate>(realEstate); dbRealEstate.PublisherId = userId; if (currentlyLoggedUser.MyOwnAgencyId !=null) { dbRealEstate.AgencyId = currentlyLoggedUser.MyOwnAgencyId; } dbRealEstate.Latitude = addressFull.Coordinates.Latitude; dbRealEstate.Longitude = addressFull.Coordinates.Longitude; var visitors = new VisitorsDetails(); visitors.AllUsers.Add(currentlyLoggedUser); var visitorsDetailsId = this.visitorsService.Add(visitors); dbRealEstate.VisitorsDetailsId = visitorsDetailsId; dbRealEstate.VisitorsDetails = visitors; return dbRealEstate; }