public List <Apartment> LoadMyApartments(string username) { using (var db = new ApartmentsAppContext()) { //IQueryable<Apartment> apartments = from e in db.Apartments select e; // return apartments.ToList(); User user = db.Users.Where(myuser => myuser.Username == username).FirstOrDefault(); if (user != null) { return(new List <Apartment>(user.Apartments.Select(x => new Apartment { Id = x.Id, Description = x.Description, Address = x.Address, Price = x.Price, // ApartmentSize = x.ApartmentSize, // hasAirConditining = x.hasAirConditining, //x.hasFurniture,x.hasParking,x.RoomsNumber }).ToList())); } return(null); //if(user!= null) //{ // foreach (var apartment in user.Apartments) // { // apartments.Add(apartment); // } //} } }
public bool CheckIfValidLogin(string username, string password) { using (var db = new ApartmentsAppContext()) if (db.Users.Any(c => c.Username == username && c.Password == password)) { return(true); } return(false); }
public void RegisterUser(User user) { using (var db = new ApartmentsAppContext()) { if (db.Users.Any(u => u.Username == user.Username)) { throw new UserNameOrEmailAlreadyExistsException(); } db.Users.Add(user); db.SaveChanges(); } }
public bool DeleteApartment(int id) { using (var db = new ApartmentsAppContext()) { Apartment apartment = db.Apartments.Find(id); if (apartment == null) { return(false); } Apartment DeletedApartment = db.Apartments.Remove(apartment); db.SaveChanges(); return(DeletedApartment != null); } }
public void LoadApartments(ICollection <Apartment> apartments) { using (var db = new ApartmentsAppContext()) { //IQueryable<Apartment> apartments = from e in db.Apartments select e; // return apartments.ToList(); IQueryable <Apartment> query = db.Apartments.Include("User").Include("Images"); foreach (var apartment in query) { apartments.Add(apartment); } } }
public bool ChangePassword(User user, string newPassword) { using (var db = new ApartmentsAppContext()) { User userInDb = db.Users.Find(user); if (userInDb == null || String.IsNullOrEmpty(newPassword)) { return(false); } db.Users.Attach(user); user.Password = newPassword; db.Entry(user).Property(x => x.Password).IsModified = true; db.SaveChanges(); return(true); } }
public Apartment AddApartment(Apartment apartment, string username) { using (var db = new ApartmentsAppContext()) { User user = db.Users.Where(myuser => myuser.Username == username).FirstOrDefault(); if (user != null) { // Add user to the relvant apartment apartment.User = user; db.Apartments.Add(apartment); //Add apartment to the user user.Apartments.Add(apartment); } //TODO: Throw exception db.SaveChanges(); return(db.Apartments.Find(apartment.Id)); } }
//public Apartment getApartment(int apartment_id) //{ // using (var db = new ApartmentsAppContext()) // { // return db.Apartments.Include("User").Include("Images").FirstOrDefault(x => x.Id == apartment_id); // } //} public void LoadApartmentsByFilter(ICollection <Apartment> apartments, string address, double price_from, double price_to) { using (var db = new ApartmentsAppContext()) { // if two fields missing search by the thrid if (String.IsNullOrEmpty(address) && price_from == 0) { IQueryable <Apartment> query = db.Apartments.Include("User").Include("Images").Where(apt => apt.Price <= price_to); foreach (var apartment in query) { apartments.Add(apartment); } return; } if (String.IsNullOrEmpty(address) && price_to == 0) { IQueryable <Apartment> query = db.Apartments.Include("User").Include("Images").Where(apt => apt.Price >= price_from); foreach (var apartment in query) { apartments.Add(apartment); } return; } if (price_from == 0 && price_to == 0) { IQueryable <Apartment> query = db.Apartments.Include("User").Include("Images").Where(apt => apt.Address.Contains(address)); foreach (var apartment in query) { apartments.Add(apartment); } return; } // if one field missing search by the two if (String.IsNullOrEmpty(address)) { IQueryable <Apartment> query = db.Apartments.Include("User").Include("Images").Where(apt => apt.Price >= price_from && apt.Price <= price_to); foreach (var apartment in query) { apartments.Add(apartment); } return; } if (price_from == 0) { IQueryable <Apartment> query = db.Apartments.Include("User").Include("Images").Where(apt => apt.Price <= price_to && apt.Address.Contains(address)); foreach (var apartment in query) { apartments.Add(apartment); } return; } if (price_to == 0) { IQueryable <Apartment> query = db.Apartments.Include("User").Include("Images").Where(apt => apt.Price >= price_from && apt.Address.Contains(address)); foreach (var apartment in query) { apartments.Add(apartment); } return; } //if all fields filled IQueryable <Apartment> query1 = db.Apartments.Include("User").Include("Images").Where(apt => apt.Price >= price_from && apt.Price <= price_to && apt.Address.Contains(address)); foreach (var apartment in query1) { apartments.Add(apartment); } return; } }