Ejemplo n.º 1
0
        //loads dashboard page
        public ActionResult Dashboard()
        {
            try
            {
                using (EasyFindPropertiesEntities dbCtx = new EasyFindPropertiesEntities())
                {
                    if (HttpContext.User.Identity.Name != null)
                    {
                        UnitOfWork unitOfWork = new UnitOfWork(dbCtx);

                        /*
                         * upon entrance of the dashboard, put the id of the current signed in user into a session
                         * so that it may be used if a new property is being added*/

                        var userId = unitOfWork.User.GetUserByEmail(HttpContext.User.Identity.Name).ID;

                        Session["userId"] = userId;
                        ViewBag.userId    = userId;
                    }
                }
            }
            catch (Exception ex)
            { }

            return(View());
        }
Ejemplo n.º 2
0
        /*
         * /*
         * //loads all bills for the current user
         * [Authorize]
         * public JsonResult getAllBills()
         * {
         *  JWorldPropertiesEntities dbCtx = new JWorldPropertiesEntities();
         *
         *  List<BillsModel> billsList = new List<BillsModel>();
         *
         *  var landlordID = (Guid)Session["landlord_id"];
         *
         *  var bills = dbCtx.BILLS.Where(b => b.ACCOMMODATIONS.OWNER == landlordID)
         *                  .Select(b => new { b.B_AMOUNT, b.B_TYPE, b.BILL_URL, b.DATE_DUE, b.DATE_ISSUED, b.DESCRIPTION, b.ID });
         *
         *  foreach (var bill in bills)
         *  {
         *      BillsModel billsModel = new BillsModel();
         *
         *      billsModel.BAmount = bill.B_AMOUNT.ToString();
         *      billsModel.BType = bill.B_TYPE;
         *      billsModel.DateDue = bill.DATE_DUE.ToString();
         *      billsModel.DateIssued = bill.DATE_ISSUED.ToString();
         *      billsModel.Description = bill.DESCRIPTION;
         *      billsModel.ID = bill.ID.ToString();
         *
         *      billsList.Add(billsModel);
         *  }
         *
         *  return Json(billsList, JsonRequestBehavior.AllowGet);
         * }
         * [HttpPost]
         * public ActionResult BillSubmission(string bill_type, DateTime date_issued, DateTime date_due, decimal bill_amount,
         *                                  string tennats_message, HttpPostedFileBase bill_image, Guid[] room_selection)
         * {
         *  JWorldPropertiesEntities dbCtx = new JWorldPropertiesEntities();
         *
         *  for (int count = 0; count < room_selection.Length; count++)
         *  {
         *      dbCtx.sp_insert_bill(bill_type, bill_amount, tennats_message, date_issued, date_due, room_selection[count]);
         *
         *      uploadBillPicture(bill_image, room_selection[count]);
         *  }
         *
         *  ViewBag.BillRegistered = true;
         *
         *  return RedirectToAction("Dashboard");
         * }
         * //updates bill picture url
         * [HttpPost]
         * [Authorize]
         * public void uploadBillPicture(HttpPostedFileBase file, Guid room_selection)
         * {
         *  JWorldPropertiesEntities dbCtx = new JWorldPropertiesEntities();
         *
         *  string fileName = string.Empty;
         *  //ensures file is not empty and is a valid image
         *  if (file.ContentLength > 0 && file.ContentType.Contains("image"))
         *  {
         *      fileName = Path.GetFileName(file.FileName);
         *
         *      string path = Path.Combine(Server.MapPath("~/Uploads/UtilityBills"), fileName);
         *
         *      dbCtx.sp_update_bill_pic_url(room_selection, fileName);
         *
         *      file.SaveAs(path);
         *  }
         * }*/
        /// <summary>
        /// returns requition information for the user
        /// </summary>
        /// <returns></returns>
        public IEnumerable <RequisitionViewModel> getRequisitions()
        {
            List <RequisitionViewModel>       requisitionInfo = null;
            IEnumerable <PropertyRequisition> requisitions    = null;

            using (EasyFindPropertiesEntities dbCtx = new EasyFindPropertiesEntities())
            {
                UnitOfWork unitOfWork = new UnitOfWork(dbCtx);

                if (Session["userId"] != null)
                {
                    var userId = (Guid)Session["userId"];

                    var  userTypes       = unitOfWork.UserTypeAssoc.GetUserTypesByUserID(userId);
                    bool isUserPropOwner = PropertyHelper.isUserOfType(userTypes, EFPConstants.UserType.PropertyOwner);

                    if (isUserPropOwner)
                    {
                        var owner = unitOfWork.Owner.GetOwnerByUserID(userId);
                        requisitions    = unitOfWork.PropertyRequisition.GetRequestsByOwnerId(owner.ID);
                        requisitionInfo = PropertyHelper.populateRequisitionVMForOwner(unitOfWork, requisitions);
                    }
                    else
                    {
                        requisitions    = unitOfWork.PropertyRequisition.GetRequestsMadeByUserId(userId);
                        requisitionInfo = PropertyHelper.populateRequisitionVMForRequestor(unitOfWork, requisitions);
                    }
                }
            }

            return(requisitionInfo);
        }
Ejemplo n.º 3
0
        public int sendMsg(Guid id, String msg)
        {
            using (EasyFindPropertiesEntities dbCtx = new EasyFindPropertiesEntities())
            {
                UnitOfWork unitOfWork = new UnitOfWork(dbCtx);

                var  message = unitOfWork.Message.Get(id);
                Guid userId;

                if ((Guid)Session["userId"] != null && message != null)
                {
                    userId = (Guid)Session["userId"];
                    var userTo = unitOfWork.User.Get(message.From);

                    Message newMsg = new Message()
                    {
                        ID           = Guid.NewGuid(),
                        To           = message.From,
                        From         = userId,
                        Msg          = msg,
                        Seen         = false,
                        DateTCreated = DateTime.Now
                    };

                    unitOfWork.Message.Add(newMsg);
                    unitOfWork.save();

                    //broadcast the new messages to the recipient
                    DashboardHub.BroadcastUserMessages(userTo.Email);
                    return(0);
                }
            }

            return(1);
        }
Ejemplo n.º 4
0
        public static SelectedPropertyViewModel GetProperty(Guid id)
        {
            SelectedPropertyViewModel ViewModel = new SelectedPropertyViewModel();

            using (EasyFindPropertiesEntities dbCtx = new EasyFindPropertiesEntities())
            {
                UnitOfWork unitOfWork = new UnitOfWork(dbCtx);

                ViewModel.property          = unitOfWork.Property.Get(id);
                ViewModel.AdType            = ViewModel.property.AdType.Name;
                ViewModel.PropertyCondition = ViewModel.property.PropertyCondition.Name;
                ViewModel.owner             = unitOfWork.Owner.Get(ViewModel.property.OwnerID);
                ViewModel.OwnerFirstName    = ViewModel.owner.User.FirstName;
                ViewModel.OwnerLastName     = ViewModel.owner.User.LastName;
                ViewModel.OwnerCellNumber   = ViewModel.owner.User.CellNum;
                ViewModel.tags = unitOfWork.Tags.GetTagNamesByPropertyId(id);
                ViewModel.propertyImageURLs       = unitOfWork.PropertyImage.GetImageURLsByPropertyId(id, 0);
                ViewModel.propertyPrimaryImageURL = unitOfWork.PropertyImage.GetPrimaryImageURLByPropertyId(id);

                ViewModel.propRatings   = unitOfWork.PropertyRating.GetPropertyRatingsByPropertyId(id);
                ViewModel.averageRating = ViewModel.propRatings.Count() > 0 ? (int)ViewModel.propRatings.Select(x => x.Ratings).Average() : 0;

                return(ViewModel);
            }
        }
Ejemplo n.º 5
0
        public void sendMessage(List <Guid> msgRecipients, String msg)
        {
            using (EasyFindPropertiesEntities dbCtx = new EasyFindPropertiesEntities())
            {
                UnitOfWork unitOfWork = new UnitOfWork(dbCtx);

                if (Session["userId"] != null)
                {
                    var userId = (Guid)Session["userId"];

                    foreach (var recipientId in msgRecipients)
                    {
                        Message message = new Message()
                        {
                            ID           = Guid.NewGuid(),
                            To           = recipientId,
                            From         = userId,
                            Msg          = msg,
                            Seen         = false,
                            DateTCreated = DateTime.Now
                        };

                        unitOfWork.Message.Add(message);
                        unitOfWork.save();

                        var userTo = unitOfWork.User.Get(recipientId);

                        DashboardHub.BroadcastUserMessages(userTo.Email);
                    }
                }
            }
        }
Ejemplo n.º 6
0
        public JsonResult getMeeting(Guid Id)
        {
            MeetingViewModel model = null;

            using (EasyFindPropertiesEntities dbCtx = new EasyFindPropertiesEntities())
            {
                UnitOfWork unitOfWork = new UnitOfWork(dbCtx);

                var meeting = unitOfWork.Meeting.Get(Id);

                model = new MeetingViewModel()
                {
                    ID                   = meeting.ID,
                    MeetingTitle         = meeting.MeetingTitle,
                    MeetingDate          = meeting.MeetingDate,
                    MeetingHour          = meeting.MeetingHour,
                    MeetingMinute        = meeting.MeetingMinute,
                    MeetingPeriod        = meeting.MeetingPeriod,
                    Location             = meeting.Location,
                    Purpose              = meeting.Purpose,
                    MeetingMemberUserIDs = new List <Guid>(meeting.MeetingMembers.Select(x => x.InviteesUserID).ToList())    //gets all meeting member user ids
                };
            }

            return(Json(model, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 7
0
        public void deleteMsg(Guid id)
        {
            using (EasyFindPropertiesEntities dbCtx = new EasyFindPropertiesEntities())
            {
                UnitOfWork unitOfWork = new UnitOfWork(dbCtx);

                if ((Guid)Session["userId"] != null)
                {
                    var userId = (Guid)Session["userId"];
                    var userTo = unitOfWork.User.Get(userId);

                    var message = unitOfWork.Message.Get(id);

                    if (message != null)
                    {
                        MessageTrash messageTrash = new MessageTrash()
                        {
                            UserID       = userId,
                            MessageID    = id,
                            DateTCreated = DateTime.Now
                        };

                        unitOfWork.MessageTrash.Add(messageTrash);
                        unitOfWork.save();

                        //broadcast the new messages to the recipient
                        DashboardHub.BroadcastUserMessages(userTo.Email);
                    }
                }
            }
        }
Ejemplo n.º 8
0
        public JsonResult GetAllPropertyPurposeNames()
        {
            IEnumerable <String> results = null;

            using (EasyFindPropertiesEntities dbCtx = new EasyFindPropertiesEntities())
            {
                var unitOfWork = new UnitOfWork(dbCtx);
                results = unitOfWork.PropertyPurpose.GetAllPurposeNames();
            }

            return(Json(results, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 9
0
        public JsonResult GetPropertyTypesByCategoryCode(String propertyCategoryCode)
        {
            IEnumerable <String> results = null;

            using (EasyFindPropertiesEntities dbCtx = new EasyFindPropertiesEntities())
            {
                var unitOfWork = new UnitOfWork(dbCtx);
                results = unitOfWork.PropertyType.GetPropertyTypesByCategoryCode(propertyCategoryCode);
            }

            return(Json(results, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 10
0
        public JsonResult Enroll(EnrolmentViewModel model)
        {
            ErrorModel errorModel = new ErrorModel();

            if (ModelState.IsValid)
            {
                using (EasyFindPropertiesEntities dbCtx = new EasyFindPropertiesEntities())
                {
                    using (var dbCtxTran = dbCtx.Database.BeginTransaction())
                    {
                        try
                        {
                            if (!model.Password.Equals(model.ConfirmPassword))
                            {
                                throw new Exception("The fields Password and Confirm Password are not equal");
                            }

                            var unitOfWork = new UnitOfWork(dbCtx);

                            if (model.ReqID != new Guid())
                            {
                                EnrollTennantByRequisition(unitOfWork, model);
                            }
                            else
                            {
                                EnrollNewTennant(unitOfWork, model);
                            }

                            unitOfWork.save();
                            dbCtxTran.Commit();
                        }
                        catch (Exception ex)
                        {
                            dbCtxTran.UnderlyingTransaction.Rollback();

                            errorModel.hasErrors     = true;
                            errorModel.ErrorMessages = new List <string>();
                            errorModel.ErrorMessages.Add(ex.Message);
                        }
                    }
                }
            }
            else
            {
                var errors = ModelState.Values.SelectMany(x => x.Errors).Select(x => x.ErrorMessage);

                errorModel.hasErrors     = true;
                errorModel.ErrorMessages = new List <string>();
                errorModel.ErrorMessages.AddRange(errors);
            }

            return(Json(errorModel));
        }
Ejemplo n.º 11
0
        public void updateRent(Guid id, decimal newRentAmt)
        {
            using (EasyFindPropertiesEntities dbCtx = new EasyFindPropertiesEntities())
            {
                UnitOfWork unitOfWork = new UnitOfWork(dbCtx);

                var tennant = unitOfWork.Tennant.Get(id);

                tennant.RentAmt = newRentAmt;

                unitOfWork.save();
            }
        }
Ejemplo n.º 12
0
        public JsonResult GetTagNamesByPropertyCategoryCode(String propertyCategoryName)
        {
            IEnumerable <String> results = null;
            /*mapping property category name to property code*/
            String propertyCategoryCode = PropertyHelper.mapPropertyCategoryNameToCode(propertyCategoryName);

            using (EasyFindPropertiesEntities dbCtx = new EasyFindPropertiesEntities())
            {
                var unitOfWork = new UnitOfWork(dbCtx);
                results = unitOfWork.TagType.GetTagNamesByPropertyCategoryCode(propertyCategoryCode);
            }

            return(Json(results, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 13
0
        public void deleteMsgThread(Guid id)
        {
            using (EasyFindPropertiesEntities dbCtx = new EasyFindPropertiesEntities())
            {
                UnitOfWork unitOfWork = new UnitOfWork(dbCtx);

                if ((Guid)Session["userId"] != null)
                {
                    var userId = (Guid)Session["userId"];

                    PropertyHelper.deleteMsgsFromMsgThread(unitOfWork, userId, id);
                }
            }
        }
Ejemplo n.º 14
0
        /// <summary>
        /// Retrieves the coordinates of properties based on conditions
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public static Array PopulateModelForPropertyCoordinates(PropertySearchViewModel model)
        {
            Array propertyCoordinates = null;

            using (EasyFindPropertiesEntities dbCtx = new EasyFindPropertiesEntities())
            {
                UnitOfWork unitOfWork = new UnitOfWork(dbCtx);

                List <Core.Filter> filters = createFilterList(model, unitOfWork);
                var deleg = ExpressionBuilder.GetExpression <Property>(filters);

                propertyCoordinates = unitOfWork.Property.FindPropertiesCoordinates(deleg);
            }

            return(propertyCoordinates);
        }
Ejemplo n.º 15
0
        public void unenrollTennant(Guid id)
        {
            using (EasyFindPropertiesEntities dbCtx = new EasyFindPropertiesEntities())
            {
                UnitOfWork unitOfWork = new UnitOfWork(dbCtx);

                var tennant = unitOfWork.Tennant.Get(id);

                var userTypeAssoc = unitOfWork.UserTypeAssoc.GetTennantUserTypeAssocByUserID(tennant.UserID);

                unitOfWork.UserTypeAssoc.Remove(userTypeAssoc);
                unitOfWork.Tennant.Remove(tennant);

                unitOfWork.save();
            }
        }
Ejemplo n.º 16
0
        public JsonResult getMeetingsForUser()
        {
            using (EasyFindPropertiesEntities dbCtx = new EasyFindPropertiesEntities())
            {
                UnitOfWork unitOfWork = new UnitOfWork(dbCtx);

                if (Session["userId"] != null)
                {
                    var userId = (Guid)Session["userId"];

                    var meetings = unitOfWork.Meeting.GetMeetingsByUserId(userId);

                    return(Json(meetings, JsonRequestBehavior.AllowGet));
                }
            }

            return(Json(null, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 17
0
        public JsonResult getMsgThread(Guid id)
        {
            //using (EasyFindPropertiesEntities dbCtx = new EasyFindPropertiesEntities())
            // {
            EasyFindPropertiesEntities dbCtx = new EasyFindPropertiesEntities();
            UnitOfWork            unitOfWork = new UnitOfWork(dbCtx);
            IEnumerable <Message> messages   = null;

            if ((Guid)Session["userId"] != null)
            {
                var userId = (Guid)Session["userId"];

                updateMsgSeen(unitOfWork, id);
                messages = unitOfWork.Message.GetMsgThreadByMsgID(id, userId);
            }

            return(Json(messages, JsonRequestBehavior.AllowGet));;
            //  }
        }
Ejemplo n.º 18
0
        public ActionResult cancelRequest(Guid reqID, bool isUserPropOwner)
        {
            try
            {
                using (EasyFindPropertiesEntities dbCtx = new EasyFindPropertiesEntities())
                {
                    UnitOfWork unitOfWork = new UnitOfWork(dbCtx);
                    PropertyHelper.CancelOrDenyPropertyRequisition(unitOfWork, reqID, isUserPropOwner);
                }
            }
            catch (Exception ex)
            {
                Session["cancelRequestCheck"] = "An error has occurred while cancelling the request. Please contact site administrator";
            }

            //message outputted if request was accepted successfully
            Session["acceptedRequestCheck"] = "Request has been successfully accepted";

            return(Content("Request Cancelled"));
        }
Ejemplo n.º 19
0
        public static List <FeaturedPropertiesSlideViewModel> PopulatePropertiesViewModel(List <NearbyPropertySearchModel> revisedModel)
        {
            List <FeaturedPropertiesSlideViewModel> featuredPropertiesSlideViewModelList = new List <FeaturedPropertiesSlideViewModel>();

            using (EasyFindPropertiesEntities dbCtx = new EasyFindPropertiesEntities())
            {
                UnitOfWork unitOfWork = new UnitOfWork(dbCtx);

                var properties = unitOfWork.Property.FindPropertiesByStreetAddress(revisedModel);

                //TODO optimize by removing extra calls to the database
                //this could be done via a single query
                foreach (var property in properties)
                {
                    IEnumerable <int> avgPropRatings = unitOfWork.PropertyRating.GetPropertyRatingsCountByPropertyId(property.ID);

                    var model = new FeaturedPropertiesSlideViewModel();

                    model.property                = property;
                    model.propertyImageURLs       = null;
                    model.propertyPrimaryImageURL = unitOfWork.PropertyImage.GetPrimaryImageURLByPropertyId(property.ID);
                    model.averageRating           = avgPropRatings.Count() > 0 ? (int)avgPropRatings.Average() : 0;

                    //matching the distance and durations to the property
                    int matchCount = revisedModel.Where(x => x.StreetAddress.Equals(property.StreetAddress)).Count();

                    if (matchCount > 0)
                    {
                        model.Distance = revisedModel.Where(x => x.StreetAddress.Equals(property.StreetAddress))
                                         .Select(x => x.Distance).SingleOrDefault();

                        model.Duration = revisedModel.Where(x => x.StreetAddress.Equals(property.StreetAddress))
                                         .Select(x => x.Duration).SingleOrDefault();
                    }

                    featuredPropertiesSlideViewModelList.Add(model);
                }
            }

            return(featuredPropertiesSlideViewModelList);
        }
Ejemplo n.º 20
0
        public ActionResult GetTennantsView()
        {
            IEnumerable <Tennant> tennants = null;

            //using (EasyFindPropertiesEntities dbCtx = new EasyFindPropertiesEntities())
            //{
            EasyFindPropertiesEntities dbCtx = new EasyFindPropertiesEntities();
            UnitOfWork unitOfWork            = new UnitOfWork(dbCtx);

            if (Session["userId"] != null)
            {
                var userId = (Guid)Session["userId"];

                var ownerId = unitOfWork.Owner.GetOwnerByUserID(userId).ID;

                tennants = unitOfWork.Tennant.GetTennantsByOwnerId(ownerId);
            }
            //}

            return(PartialView("_Tennants", tennants));
        }
Ejemplo n.º 21
0
        /// <summary>
        /// returns the users which the user can set meetings for
        /// </summary>
        /// <returns></returns>
        public JsonResult getInvitees()
        {
            List <InviteeViewModel> invitees = new List <InviteeViewModel>();

            using (EasyFindPropertiesEntities dbCtx = new EasyFindPropertiesEntities())
            {
                UnitOfWork unitOfWork = new UnitOfWork(dbCtx);

                if (Session["userId"] != null)
                {
                    var userId = (Guid)Session["userId"];

                    /*
                     *   If user is a property owner, then he/she should be able to set meetings
                     *   with the tennants or property requestees
                     *   Tennants should be able to set meetings with the property owner
                     *   as well as the other tennants
                     */
                    //var user = unitOfWork.User.Get(userId);
                    var  userTypes       = unitOfWork.UserTypeAssoc.GetUserTypesByUserID(userId);
                    bool isUserPropOwner = PropertyHelper.isUserOfType(userTypes, EFPConstants.UserType.PropertyOwner);
                    bool isUserTennant   = PropertyHelper.isUserOfType(userTypes, EFPConstants.UserType.Tennant);

                    if (isUserPropOwner)
                    {
                        setInviteeVMForPO(unitOfWork, userId, invitees);
                    }
                    else if (isUserTennant)
                    {
                        setInviteeVMForTennant(unitOfWork, userId, invitees);
                    }
                    else
                    {
                        setInviteeVMForPropertyRequestors(unitOfWork, userId, invitees);
                    }
                }
            }

            return(Json(invitees, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 22
0
        public JsonResult getAllPropertyImages()
        {
            ErrorModel errorModel = new ErrorModel();

            IEnumerable <PropertyImage> propertyImage;
            List <IEnumerable>          pImageInfo = new List <IEnumerable>();

            try
            {
                using (EasyFindPropertiesEntities dbCtx = new EasyFindPropertiesEntities())
                {
                    UnitOfWork unitOfWork = new UnitOfWork(dbCtx);
                    //checking if the landlord id was saved in the session
                    if (Session["userId"] != null)
                    {
                        var userId = (Guid)Session["userId"];
                        var owner  = unitOfWork.Owner.GetOwnerByUserID(userId);
                        propertyImage = unitOfWork.PropertyImage.GetAllPrimaryPropertyImageByOwnerId(owner.ID);

                        foreach (var image in propertyImage)
                        {
                            //adding properties to dictionary to display image to the user
                            Dictionary <String, String> imageInfo = new Dictionary <string, string>();
                            imageInfo.Add("propertyID", image.PropertyID.ToString());
                            imageInfo.Add("imageURL", image.ImageURL);
                            pImageInfo.Add(imageInfo);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                errorModel = MiscellaneousHelper.PopulateErrorModel(null);

                return(Json(errorModel, JsonRequestBehavior.AllowGet));
            }

            return(Json(pImageInfo, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 23
0
        public static List <FeaturedPropertiesSlideViewModel> PopulatePropertiesViewModel(PropertySearchViewModel model)
        {
            List <FeaturedPropertiesSlideViewModel> featuredPropertiesSlideViewModelList = new List <FeaturedPropertiesSlideViewModel>();

            IEnumerable <Property> filteredProperties   = null;
            IEnumerable <Property> searchTermProperties = null;
            IEnumerable <Property> properties           = null;

            EasyFindPropertiesEntities dbCtx = new EasyFindPropertiesEntities();
            //using (EasyFindPropertiesEntities dbCtx = new EasyFindPropertiesEntities())
            //{
            UnitOfWork unitOfWork = new UnitOfWork(dbCtx);

            List <Core.Filter> filters = createFilterList(model, unitOfWork);
            var deleg = ExpressionBuilder.GetExpression <Property>(filters);

            filteredProperties   = unitOfWork.Property.FindProperties(deleg, model.take, model.PgNo);
            searchTermProperties = unitOfWork.Property.FindPropertiesBySearchTerm(model.SearchTerm, model.take, model.PgNo);
            properties           = filteredProperties.Concat(searchTermProperties).Distinct();

            //TODO optimize by removing extra calls to the database
            //this could be done via a single query
            foreach (var property in properties)
            {
                IEnumerable <int> avgPropRatings = unitOfWork.PropertyRating.GetPropertyRatingsCountByPropertyId(property.ID);

                featuredPropertiesSlideViewModelList.Add(new FeaturedPropertiesSlideViewModel()
                {
                    property                = property,
                    owner                   = property.Owner,
                    propertyImageURLs       = null,
                    propertyPrimaryImageURL = unitOfWork.PropertyImage.GetPrimaryImageURLByPropertyId(property.ID),
                    averageRating           = avgPropRatings.Count() > 0 ? (int)avgPropRatings.Average() : 0
                });
            }
            // }

            return(featuredPropertiesSlideViewModelList);
        }
Ejemplo n.º 24
0
        /// <summary>
        /// In the event the application has been stopped however user
        /// was still signed in, then reload this user, userid into a session variable
        /// </summary>
        public static Guid getLoggedInUser()
        {
            try
            {
                using (EasyFindPropertiesEntities dbCtx = new EasyFindPropertiesEntities())
                {
                    if (HttpContext.Current.User.Identity.Name != null)
                    {
                        UnitOfWork unitOfWork = new UnitOfWork(dbCtx);

                        var userId = dbCtx.User.Where(x => x.Email == HttpContext.Current.User.Identity.Name)
                                     .Select(x => x.ID).Single();
                        return(userId);
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Unable to restore user's session");
            }

            return(new Guid());
        }
Ejemplo n.º 25
0
        public ActionResult GetAdvertisePropertyView()
        {
            Owner owner = null;
            AdvertisePropertyViewModel newModel = null;
            Guid userId;

            using (EasyFindPropertiesEntities dbCtx = new EasyFindPropertiesEntities())
            {
                if (Session["userId"] != null)
                {
                    userId = (Guid)Session["userId"];

                    UnitOfWork unitOfWork = new UnitOfWork(dbCtx);

                    owner = unitOfWork.Owner.GetOwnerByUserID(userId);
                }

                newModel = new AdvertisePropertyViewModel()
                {
                    FirstName       = owner.User.FirstName,
                    LastName        = owner.User.LastName,
                    CellNum         = owner.User.CellNum,
                    Email           = owner.User.Email,
                    StreetAddress   = "12 Coolshade Drive",
                    Country         = "Jamaica",
                    Division        = "Kingston 19",
                    Community       = "Havendale",
                    Price           = 4000,
                    SecurityDeposit = 4000,
                    TermsAgreement  = "Terms",
                    TotRooms        = 1,
                    IsReviewable    = true,
                    Description     = "Very good property"
                };
            }
            return(PartialView("_partialAdvertiseProperty", newModel));
        }
Ejemplo n.º 26
0
        /// <summary>
        /// returns latest 5 messages for a specific user
        /// </summary>
        /// <param name="unitOfWork"></param>
        /// <param name="take"></param>
        /// <returns></returns>
        //
        public JsonResult getMessages()
        {
            List <MessageViewModel> messagesViewModel = null;

            using (EasyFindPropertiesEntities dbCtx = new EasyFindPropertiesEntities())
            {
                UnitOfWork unitOfWork = new UnitOfWork(dbCtx);

                if (Session["userId"] != null)
                {
                    var userId = (Guid)Session["userId"];

                    var messages = unitOfWork.Message.GetMsgsForUserID(userId);
                    messagesViewModel = new List <MessageViewModel>();

                    foreach (var msg in messages)
                    {
                        var user = unitOfWork.User.Get(msg.From);

                        MessageViewModel messageViewModel = new MessageViewModel()
                        {
                            ID           = msg.ID,
                            From         = user.FirstName + " " + user.LastName,
                            CellNum      = user.CellNum,
                            Email        = user.Email,
                            Msg          = msg.Msg,
                            Seen         = msg.Seen,
                            DateTCreated = msg.DateTCreated.ToShortDateString()
                        };

                        messagesViewModel.Add(messageViewModel);
                    }
                }
            }

            return(Json(messagesViewModel, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 27
0
        public ActionResult AcceptRequest(Guid reqID)
        {
            try
            {
                //retrieving enrolment key that is associated with an accommodation
                using (EasyFindPropertiesEntities dbCtx = new EasyFindPropertiesEntities())
                {
                    UnitOfWork unitOfWork = new UnitOfWork(dbCtx);
                    PropertyHelper.AcceptPropertyRequisition(unitOfWork, reqID);
                }
            }
            catch (Exception ex)
            {
                //message outputted if request acceptance has failed
                Session["acceptedRequestCheck"] = "An error has occurred while accepting the request. Please contact site administrator";

                return(Content("RequestFailed"));
            }

            //message outputted if request was accepted successfully
            Session["acceptedRequestCheck"] = "Request has been successfully accepted";

            return(Content("RequestSuccess"));
        }
Ejemplo n.º 28
0
 public TennantRepository(EasyFindPropertiesEntities dbctx)
     : base(dbctx)
 {
 }
 public PropertyPurposeRepository(EasyFindPropertiesEntities dbctx)
     : base(dbctx)
 {
 }
 public UserTypeAssocRepository(EasyFindPropertiesEntities dbctx)
     : base(dbctx)
 {
 }