//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()); }
/* * /* * //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); }
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); }
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); } }
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); } } } }
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)); }
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); } } } }
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)); }
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)); }
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)); }
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(); } }
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)); }
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); } } }
/// <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); }
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(); } }
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)); }
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));; // } }
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")); }
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); }
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)); }
/// <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)); }
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)); }
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); }
/// <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()); }
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)); }
/// <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)); }
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")); }
public TennantRepository(EasyFindPropertiesEntities dbctx) : base(dbctx) { }
public PropertyPurposeRepository(EasyFindPropertiesEntities dbctx) : base(dbctx) { }
public UserTypeAssocRepository(EasyFindPropertiesEntities dbctx) : base(dbctx) { }