Beispiel #1
0
        public ActionResult Index(string id)
        {
            var propertyGuid = default(Guid);

            Guid.TryParse(id, out propertyGuid);
            if (propertyGuid != default(Guid))
            {
                using (var dba = new DataClasses1DataContext())
                {
                    var publishedProperty = dba.PublishedProperties.FirstOrDefault(x => x.Guid == propertyGuid);
                    if (publishedProperty != null)
                    {
                        var stepData = dba.Steps.FirstOrDefault(x => x.Stepid == publishedProperty.StepId);
                        var images   = dba.Images.Where(x => x.StepId == publishedProperty.StepId);
                        var user     = dba.Userinfos.FirstOrDefault(x => x.UserId == publishedProperty.UserId);

                        var propertyData = new UserPropertyViewModel
                        {
                            PropertyAddress = stepData.PropertyAddress,
                            Price           = stepData.Price,
                            Washrooms       = stepData.Washrooms,
                            Bedrooms        = stepData.Bedrooms,
                            Area            = stepData.Area,
                            Status          = stepData.Status,
                            Propertytype    = stepData.Propertytype,
                            Typesofhome     = stepData.Typesofhome,
                            MLS             = stepData.MLS,
                            YoutubeLink     = stepData.YoutubeLink,
                            UserId          = publishedProperty.UserId,
                        };
                        propertyData.User = new UserProfile
                        {
                            Userinfoid  = user.Userinfoid,
                            Name        = user.Name,
                            Middlename  = user.Middlename,
                            Lastname    = user.Lastname,
                            Email       = user.Email,
                            Website     = user.Website,
                            Designation = user.Designation,
                            PhotoPath   = user.PhotoPath,
                            CompanyLogo = user.CompanyLogo,
                            CellNo      = user.CellNo
                        };

                        foreach (var image in images)
                        {
                            propertyData.Images.Add(new ImageViewModel {
                                ImgId = image.ImgId, PhotoPath = image.PhotoPath, thumbnails = image.thumbnails, UserId = image.UserId
                            });
                        }

                        return(View(propertyData));
                    }
                    return(View("PropertyNotFound"));
                }
            }
            return(View("PropertyNotFound"));
        }
        public ActionResult Steps1(string Propertytype, string Typesofhome, UserPropertyViewModel Data)
        {
            var loggedInUserr = Session["LoggedInUser"] as User;

            if (loggedInUserr == null)
            {
                return(RedirectToAction("Login", "Account"));
            }

            if (ModelState.IsValid)
            {
                var viewModelData = GetSessionData <UserPropertyViewModel>("UserProperty");

                if (viewModelData != null)
                {
                    Data.Images = viewModelData.Images;
                }
                SetSessionData("UserProperty", Data);
                return(RedirectToAction("Steps2", viewModelData));
            }
            return(View(Data));
        }
        public ActionResult Steps3(UserPropertyViewModel data)
        {
            var loggedInUserr = Session["LoggedInUser"] as User;

            if (loggedInUserr == null)
            {
                return(RedirectToAction("Login", "Account"));
            }

            //  TempData["Fullurl"] = HttpContext.Request.Url.AbsoluteUri;

            var viewModelData = GetSessionData <UserPropertyViewModel>("UserProperty");
            var user          = Session["LoggedInUser"] as User;

            if (user != null)
            {
                viewModelData.UserId = user.Id;
            }
            Step stepToSave = null;

            if (viewModelData.Stepid > 0)
            {
                stepToSave = dba.Steps.FirstOrDefault(c => c.UserId == viewModelData.Stepid);
            }

            stepToSave = stepToSave ?? new Step();

            stepToSave.PropertyAddress = viewModelData.PropertyAddress;
            stepToSave.Price           = viewModelData.Price;
            stepToSave.Washrooms       = viewModelData.Washrooms;
            stepToSave.Bedrooms        = viewModelData.Bedrooms;
            stepToSave.Area            = viewModelData.Area;
            stepToSave.Status          = viewModelData.Status;
            stepToSave.Propertytype    = viewModelData.Propertytype;
            stepToSave.Typesofhome     = viewModelData.Typesofhome;
            stepToSave.MLS             = viewModelData.MLS;
            stepToSave.YoutubeLink     = viewModelData.YoutubeLink;
            stepToSave.UserId          = viewModelData.UserId;

            if (viewModelData.Stepid == 0)
            {
                dba.Steps.InsertOnSubmit(stepToSave);
            }
            var images = dba.Images.Where(c => c.UserId == viewModelData.UserId).ToList();

            if (images != null && images?.Count != viewModelData.Images?.Count)
            {
                foreach (var img in images)
                {
                    dba.Images.DeleteOnSubmit(img);
                }

                foreach (var img in viewModelData.Images)
                {
                    dba.Images.InsertOnSubmit(new Image
                    {
                        UserId     = stepToSave.UserId.GetValueOrDefault(),
                        PhotoPath  = img.PhotoPath,
                        thumbnails = img.thumbnails,
                        Step       = stepToSave
                    });
                }
            }
            else if (images != null && images?.Count == viewModelData?.Images?.Count && viewModelData?.Images?.Count > 0)
            {
                int idx = 0;
                foreach (var img in images)
                {
                    // img.UserId = stepToSave.UserId.GetValueOrDefault();
                    img.PhotoPath  = viewModelData.Images[idx].PhotoPath;
                    img.thumbnails = viewModelData.Images[idx].thumbnails;
                    //img.Step = stepToSave;
                }
            }
            var id = "";

            if (Session["PublishedId"] != null)
            {
                id = Session["PublishedId"].ToString();
            }
            var publishedData = dba.PublishedProperties.Where(c => c.Id == Convert.ToInt32(id)).FirstOrDefault();

            //var publishedProperty = new PublishedProperty
            //{
            publishedData.Guid = Guid.NewGuid();
            publishedData.Step = stepToSave;


            //};
            publishedData.PublishedUrl = ConfigurationManager.AppSettings["LocalURL"] + "/PublishedProperty?id=" + publishedData.Guid;
            dba.SubmitChanges();
            // return View(viewModelData);
            //Adress adrs = new Adress();
            //adrs.Address = stepToSave.PropertyAddress;
            //adrs.GeoCode();
            //string lat = adrs.Latitude;
            //string lng = adrs.Longitude;
            //StringBuilder sb = new StringBuilder();
            //DataSet ds = GetWalkingScore1(stepToSave.PropertyAddress, lat, lng);
            //if (ds.Tables.Count > 0)
            //{
            //    //imgg.ImageUrl = ds.Tables[0].Rows[0]["logo_url"].ToString();
            //    viewModelData.WalkScore = ds.Tables[0].Rows[0]["walkscore"].ToString();

            //   // lblwalk.PostBackUrl = "http://www.walkscore.com/score/loc/lat=" + lat + "/lng=" + lng + "/?utm_source=http://roccobuyandsell.com&amp;utm_medium=ws_api&amp;utm_campaign=ws_api";

            //}
            return(RedirectToAction("Index", "Dashboard", viewModelData));
        }