Exemple #1
0
        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;
        }
Exemple #4
0
        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");
            }
        }
Exemple #7
0
        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;
        }