public Apartman DobaviApartman(Apartman apartmanNaziv) { Apartman ret = ApartmanGetter.GetApartmanByNaziv(apartmanNaziv.Naziv); apartmanZaIzmenu = apartmanNaziv.Naziv; return(ret); }
public ActionResult ObrisiApartman(string idApartmana) { Korisnik kor = (Korisnik)Session["korisnik"]; if (kor == null) { kor = new Korisnik(); Session["korisnik"] = kor; } foreach (Korisnik k in Database.domacini.Values) { if (k.KorisnickoIme == kor.KorisnickoIme && k.Uloga == Uloga.DOMACIN) { Apartman apartman = new Apartman(); foreach (int id in Database.sviApartmani.Keys) { if (id == Int32.Parse(idApartmana)) { Database.sviApartmani.TryGetValue(id, out apartman); apartman.IsDeleted = true; } } } ViewBag.Message = "Apartman je uspesno obrisan."; return(View("RezultatBrisanja")); } ViewBag.Message = "Apartman nije obrisan, desila se neka greska!"; return(View("RezultatBrisanja")); }
public ActionResult OtvoriIzmeniApartView(string idApartmana) { Korisnik kor = (Korisnik)Session["korisnik"]; if (kor == null) { kor = new Korisnik(); Session["korisnik"] = kor; } foreach (Korisnik k in Database.registrovaniKorisnici.Values) { if (k.KorisnickoIme == kor.KorisnickoIme && k.Uloga == Uloga.DOMACIN) { Apartman apartman = new Apartman(); foreach (int id in Database.sviApartmani.Keys) { if (id == Int32.Parse(idApartmana)) { Database.sviApartmani.TryGetValue(id, out apartman); } } return(View("IzmeniApartman", apartman)); } } ViewBag.Message = "Apartman nije promenjen, desila se greska!"; return(View("IzmenaPodatakaRez")); }
public IHttpActionResult ChangeApartment(ApartmentBM apartment) { Apartman app = context.Apartmans.Where(x => x.ID == apartment.ID && x.Deleted == false).FirstOrDefault(); if (app == null) { return(NotFound()); } if (CheckRole("Admin")) { if (CheckRole("Host")) { return(StatusCode(HttpStatusCode.Unauthorized)); } else { apartment.Status = app.Status.ToString(); } } SetApartment(app, apartment); return(Ok()); }
public IHttpActionResult DeletePicture(int apartmentId, string picture) { if (CheckRole("Admin")) { if (CheckRole("Host")) { return(StatusCode(HttpStatusCode.Unauthorized)); } } Apartman app = context.Apartmans.Where(x => x.ID == apartmentId).FirstOrDefault(); string[] picutres = app.Pictures.Split(';'); app.Pictures = ""; for (int i = 0; i < picutres.Length; i++) { if (picutres[i] == picture) { picutres[i] = ""; } if (picutres[i] != "") //kad brisemo sliku, mora staviti ; tamo gde je slika nestala { picutres[i] += ';'; } app.Pictures += picutres[i]; } //context.Apartmans.Remove(app); context.SaveChanges(); return(Ok()); }
public int EditApartman(Apartman a) { try { ISession s = DataLayer.GetSession(); Apartman ap = s.Query <Apartman>() .Where(v => v.IdSmestaja == a.IdSmestaja).Select(p => p).FirstOrDefault(); ap.ImeVlasnika = a.ImeVlasnika; ap.PrezimeVlasnika = a.PrezimeVlasnika; ap.Telefon = a.Telefon; ap.TipApartmana = a.TipApartmana; s.Update(ap); s.Flush(); s.Close(); return(1); } catch (Exception ec) { return(-1); } }
public async Task <HttpResponseMessage> UploadPictures(int apartmentID) { //if (CheckRole("Host")) //{ // return Request.CreateResponse(HttpStatusCode.Unauthorized); //} // Check if the request contains multipart/form-data. if (!Request.Content.IsMimeMultipartContent()) { throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType); } string root = HttpContext.Current.Server.MapPath("~/Resource/Images"); var provider = new MultipartFormDataStreamProvider(root); try { // Read the form data. await Request.Content.ReadAsMultipartAsync(provider); // This illustrates how to get the file names. foreach (MultipartFileData file in provider.FileData) { string filename = file.LocalFileName; string realName = file.Headers.ContentDisposition.FileName.Split('\"')[1]; realName = realName.Split('.').Last(); realName = filename + "." + realName; File.Move(filename, realName); Apartman apartment = context.Apartmans.Where(x => x.ID == apartmentID).FirstOrDefault(); if (apartment.Pictures == null || apartment.Pictures == "") { apartment.Pictures = ""; } else if (apartment.Pictures.Last() != ';') { apartment.Pictures += ';'; } var nameParts = realName.Split('\\').SkipWhile(p => !p.Equals("Resource")); var relativePath = ""; foreach (var part in nameParts) { relativePath += part + "\\"; } relativePath = relativePath.Remove(relativePath.Length - 1); // brise zadnje '//' linije apartment.Pictures += relativePath + ';'; context.SaveChanges(); } return(Request.CreateResponse(HttpStatusCode.OK)); } catch (System.Exception e) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e)); } }
public string ObrisiApartman(Apartman zaBrisanje) { Apartman apartman = ApartmanGetter.GetApartmanByNaziv(zaBrisanje.Naziv); int brLinije = ApartmanGetter.GetBrojLinije(zaBrisanje.Naziv); ApartmanFileWritter.ObrisiApartman(brLinije); return("Apartman obrisan uspesno."); }
protected override void Seed(AirBnbContext context) { Adress adress1 = new Adress(); adress1.ID = 1; adress1.Streat = "Bulevar Oslobodjenja"; adress1.StreatNumber = 30; adress1.ZipCode = 21000; adress1.Settlement = "Novi Sad"; context.Adresss.Add(adress1); context.SaveChanges(); Amenitie amenitie1 = new Amenitie(); amenitie1.Name = "Klima"; context.Amenities.Add(amenitie1); context.SaveChanges(); Location location1 = new Location(); location1.ID = 1; location1.Latitude = 45.23; location1.Longitude = 25.23; location1.AdressID = 1; User user1 = new User { ID = 1, Name = "Sasa", Surname = "Dragomirovic", Gender = Helper.Enums.Genders.Male, Password = "******", Role = Helper.Enums.Roles.Admin, UserName = "******" }; User user2 = new User { ID = 2, Name = "Biba", Surname = "Bibic", Gender = Helper.Enums.Genders.Male, Password = "******", Role = Helper.Enums.Roles.Guest, UserName = "******" }; User user3 = new User { ID = 3, Name = "Gruja", Surname = "Grujic", Gender = Helper.Enums.Genders.Male, Password = "******", Role = Helper.Enums.Roles.Host, UserName = "******" }; context.Users.Add(user1); context.Users.Add(user2); context.Users.Add(user3); context.SaveChanges(); Apartman apartman1 = new Apartman { ID = 1, GuestNumber = 3, HostID = 3, LocationID = 1, PricePerNight = 20, RoomNumber = 2 }; context.Apartmans.Add(apartman1); context.SaveChanges(); Comment comment1 = new Comment { ID = 1, ApartmanID = 1, GuestID = 2, Rate = 9.5, Text = "Nice one" }; context.Comments.Add(comment1); context.SaveChanges(); //Reservation reservation1 = new Reservation { ID = 1, ApartmanID = 1, GuestID = 2, NumberOfNights = 10, SingUpDate = DateTime.Now, Stauts = Helper.Enums.ReservationStatus.Accepted, TotalPrice = 100 }; //context.Reservations.Add(reservation1); //context.SaveChanges(); }
public Apartman DobaviApartman(Apartman apartmanNaziv) { Apartman ret = ApartmanGetter.GetApartmanByNaziv(apartmanNaziv.Naziv); //apartmanZaIzmenu = apartmanNaziv.Naziv; List <Komentar> komentari = KomentariGetter.GetKomentareZaCitanje(apartmanNaziv.Naziv); ret.Komentari = komentari; return(ret); }
//public string PripadaOkruzenju { get; set; } public ApartmanView(Apartman a) { this.IdSmestaja = a.IdSmestaja; this.ImeVlasnika = a.ImeVlasnika; this.PrezimeVlasnika = a.PrezimeVlasnika; this.Telefon = a.Telefon; this.TipApartmana = a.TipApartmana; //this.PripadaOkruzenju = a.PripadaOkruzenju.TipOkruzenja; }
public string NapraviRezervaciju(RezervacijaModel rezervacija) { DateTime rezDate = DateTime.ParseExact(rezervacija.PocetniDatum, "yyyy-MM-dd", CultureInfo.InvariantCulture); Rezervacija rez = new Rezervacija(rezervacija); int broj = Rezervacija.GetBrojObjekta(); rez.Id = broj + 1; Apartman apartman = ApartmanGetter.GetApartmanByNazivIStatus(rezervacija.RezervisaniApartman, "AKTIVAN"); DateTime pomocni = rezDate.Date; for (int i = 0; i < rezervacija.BrojNocenja; i++) { if (!apartman.DatumiZaIzdavanje.Contains(rezDate.Date.AddDays(i))) { return("Apartman nije u ponudi za odabrani period."); } } //prepis cene rez.UkupnaCena = 0; string putanjaDatumi = HostingEnvironment.MapPath("~/Files/Praznici.txt"); string datumi = File.ReadAllText(putanjaDatumi); string[] prazniciPom = datumi.Split(','); List <DateTime> praznici = new List <DateTime>(); foreach (var datum in prazniciPom) { praznici.Add(DateTime.ParseExact(datum, "yyyy-MM-dd", CultureInfo.InvariantCulture)); } for (int i = 0; i < rezervacija.BrojNocenja; i++) { pomocni = rezDate.AddDays(i); if (pomocni.DayOfWeek == DayOfWeek.Saturday || pomocni.DayOfWeek == DayOfWeek.Sunday || pomocni.DayOfWeek == DayOfWeek.Friday) { rez.UkupnaCena += 0.9 * apartman.CenaPoNocenju; continue; } else if (praznici.Contains(pomocni)) { rez.UkupnaCena += 1.05 * apartman.CenaPoNocenju; } else { rez.UkupnaCena += apartman.CenaPoNocenju; } } RezervacijaFileWritter.UpisiRezervaciju(rez); return("zapisano"); }
public ApartmanView GetApartmanView(int id) { ISession s = DataLayer.GetSession(); Apartman ap = s.Query <Apartman>() .Where(v => v.IdSmestaja == id).Select(p => p).FirstOrDefault(); if (ap == null) { return(new ApartmanView()); } return(new ApartmanView(ap)); }
public IHttpActionResult GetApartmentAmenitieNames(int apartmentID) { Apartman apartman = context.Apartmans.Where(x => x.ID == apartmentID && x.Deleted == false).FirstOrDefault(); List <string> amm = new List <string>(); foreach (Amenitie item in apartman.Amenities) { if (item.Deleted == false) { amm.Add(item.Name); } } return(Ok(amm)); }
private bool SetApartment(Apartman apartman, ApartmentBM apartmentBM) //change apartmant { apartman.Type = (apartmentBM.Type == ApartmanType.FullApartman.ToString()) ? ApartmanType.FullApartman : ApartmanType.Room; apartman.Status = (apartmentBM.Status == ApartmanStatus.Active.ToString()) ? ApartmanStatus.Active : ApartmanStatus.NotActive; apartman.SingUpTime = apartmentBM.SingUpTime; apartman.SingOutTime = apartmentBM.SingOutTime; apartman.RoomNumber = apartmentBM.RoomNumber; // apartman.RentDates = apartmentBM.RentDates; apartman.PricePerNight = apartmentBM.PricePerNight; ////pic //apartman.Pictures = ""; //foreach (string pic in apartmentBM.Pictures) //{ // apartman.Pictures = pic + ';'; //} apartman.GuestNumber = apartmentBM.GuestNumber; context.SaveChanges(); //location info: Location locationInfo = context.Locations.Where(x => x.ID == apartman.LocationID).FirstOrDefault(); locationInfo.Latitude = apartmentBM.Latitude; locationInfo.Longitude = apartmentBM.Longitude; context.SaveChanges(); //Adress locationInfo.Adress.Streat = apartmentBM.Streat; locationInfo.Adress.StreatNumber = apartmentBM.StreatNumber; locationInfo.Adress.ZipCode = apartmentBM.ZipCode; locationInfo.Adress.Settlement = apartmentBM.Settlement; context.SaveChanges(); //Amenities apartman.Amenities.Clear(); //brise sve postojece foreach (string amm in apartmentBM.Amenities) { Amenitie amenitie = context.Amenities.Where(x => x.Name == amm).FirstOrDefault(); apartman.Amenities.Add(amenitie); } context.SaveChanges(); return(true); }
public IHttpActionResult DeleteApartment(int apartmentId) { if (CheckRole("Admin")) { if (CheckRole("Host")) { return(StatusCode(HttpStatusCode.Unauthorized)); } } Apartman app = context.Apartmans.Where(x => x.ID == apartmentId).FirstOrDefault(); app.Deleted = true; //context.Apartmans.Remove(app); context.SaveChanges(); return(Ok()); }
private void Ucitajapartman_Click(object sender, EventArgs e) { try { ISession s = DataLayer.GetSession(); Apartman a = s.Load <Apartman>(33); MessageBox.Show("Ucitan je apartman vlasnika " + a.ImeVlasnika + " " + a.PrezimeVlasnika + ", broj telefona " + a.Telefon); s.Close(); } catch (Exception ec) { MessageBox.Show(ec.Message); } }
public int AddApartman(Apartman a) { try { ISession s = DataLayer.GetSession(); s.Save(a); s.Flush(); s.Close(); return(1); } catch (Exception ec) { return(-1); } }
public ActionResult OdobriApartman(string apartman) { Korisnik kor = (Korisnik)Session["korisnik"]; if (kor == null) { kor = new Korisnik(); Session["korisnik"] = kor; } if (apartman == null) { ViewBag.ErrorMessage = "Ne postoji nijedan apartman!"; return(View("Greska")); } Apartman apart = new Apartman(); foreach (Korisnik k in Database.registrovaniKorisnici.Values) { if (k.KorisnickoIme == kor.KorisnickoIme && k.Uloga == Uloga.ADMINISTRATOR) { apart = Database.sviApartmani[Int32.Parse(apartman)]; Database.sviApartmani.Remove(apart.Id); Database.domacini[apart.Domacin.KorisnickoIme].ApartmaniZaIzdavanje.Remove(apart); apart.Status = StatusApartmana.AKTIVAN; Database.sviApartmani.Add(apart.Id, apart); Database.domacini[apart.Domacin.KorisnickoIme].ApartmaniZaIzdavanje.Add(apart); Database.UpisiSveApartmane(); ViewBag.Message = "Apartman je odobren."; return(View("OdobriApartmanRez")); } } ViewBag.Message = "Apartman nije odobren!"; return(View("OdobriApartmanRez")); }
public string DodajApartman(JObject a) { ApartmanModel apartmanM = null; apartmanM = a.ToObject <ApartmanModel>(); Apartman apartman = new Apartman(apartmanM); if (ApartmanGetter.GetApartmanByNaziv(apartman.Naziv) != null) { return("Apartman sa tim nazivom vec postoji."); } else { ApartmanFileWritter.ZapisiApartman(apartman); return("Apartman uspesno dodat."); } }
public int RemoveApartman(int id) { try { ISession s = DataLayer.GetSession(); Apartman a = s.Load <Apartman>(id); s.Delete(a); s.Flush(); s.Close(); return(1); } catch (Exception exc) { return(-1); } }
public string IzmeniApartman(Apartman zaIzmenu) { Apartman apartman = ApartmanGetter.GetApartmanByNaziv(apartmanZaIzmenu); apartman.BrGostiju = zaIzmenu.BrGostiju; apartman.Tip = zaIzmenu.Tip; apartman.BrSoba = zaIzmenu.BrSoba; apartman.CenaPoNocenju = zaIzmenu.CenaPoNocenju; apartman.Naziv = zaIzmenu.Naziv; apartman.Status = zaIzmenu.Status; apartman.Prijava = zaIzmenu.Prijava; apartman.Odjava = zaIzmenu.Odjava; apartman.SadrzajApartmana = zaIzmenu.SadrzajApartmana; int brLinije = ApartmanGetter.GetBrojLinije(apartmanZaIzmenu); ApartmanFileWritter.ZapisiIzmenjen(brLinije, apartman); RezervacijaFileWritter.IzmeniNazivApartmana(apartmanZaIzmenu, apartman.Naziv); KomentarFileWritter.IzmeniNazivApartmana(apartmanZaIzmenu, apartman.Naziv); return("uspesno"); }
// Get: /MojProfil/Detalji?id=0 public ActionResult Detalji() { Korisnik korisnik = (Korisnik)Session["Korisnik"]; if (korisnik == null) { korisnik = new Korisnik(); Session["Korisnik"] = korisnik; } Apartman izabraniApartman = null; List <Apartman> apartmani = new List <Apartman>(); foreach (var Korisnik in Korisnici.dictionaryKorisnici.Values) { if (Korisnik.UlogaKorisnika == UlogaKorisnika.Domacin) { foreach (var Apartman in Korisnik.Apartmani) { apartmani.Add(Apartman); } } } try { izabraniApartman = apartmani.ElementAt(int.Parse(Request["id"])); } catch (Exception e) { } ViewBag.Korisnik = korisnik; if (izabraniApartman == null) { return(View("Greska")); } return(View(izabraniApartman)); }
public string IzmeniApartman(Apartman zaIzmenu) { if (ApartmanGetter.GetApartmanByNaziv(zaIzmenu.Naziv) == null) { Apartman apartman = ApartmanGetter.GetApartmanByNaziv(apartmanZaIzmenu); apartman.BrGostiju = zaIzmenu.BrGostiju; apartman.Tip = zaIzmenu.Tip; apartman.BrSoba = zaIzmenu.BrSoba; apartman.CenaPoNocenju = zaIzmenu.CenaPoNocenju; apartman.Naziv = zaIzmenu.Naziv; apartman.Status = zaIzmenu.Status; apartman.Prijava = zaIzmenu.Prijava; apartman.Odjava = zaIzmenu.Odjava; if (zaIzmenu.SadrzajApartmana.Count != 0) { apartman.SadrzajApartmana = zaIzmenu.SadrzajApartmana; } if (zaIzmenu.DatumiZaIzdavanje.Count != 0) { apartman.DatumiZaIzdavanje = zaIzmenu.DatumiZaIzdavanje; } if (zaIzmenu.Slike.Count != 0) { apartman.Slike = zaIzmenu.Slike; } int brLinije = ApartmanGetter.GetBrojLinije(apartmanZaIzmenu); ApartmanFileWritter.ZapisiIzmenjen(brLinije, apartman); RezervacijaFileWritter.IzmeniNazivApartmana(apartmanZaIzmenu, apartman.Naziv); KomentarFileWritter.IzmeniNazivApartmana(apartmanZaIzmenu, apartman.Naziv); return("uspesno"); } else { return("Apartman sa tim nazivom vec postoji."); } }
public IHttpActionResult RequestApartmentRentDates(RentDateModelBM rentD) { if (CheckRole("Guest")) { return(StatusCode(HttpStatusCode.Unauthorized)); } Apartman apartman = context.Apartmans.Where(x => x.Deleted == false && x.ID == rentD.ApartmanID).FirstOrDefault(); if (apartman == null) { return(BadRequest("Apartmant doesn't exist")); } bool Available = true; DateTime currentDate = rentD.RentDate; int normalPriceDays = 0; int discountPriceDays = 0; int holidayPriceDays = 0; for (int i = 0; i < rentD.RentDays; i++) { DatesModel datesModel = context.DatesModels.Where(x => x.ApartmanID == rentD.ApartmanID && x.RentDate.Year == currentDate.Year && x.RentDate.Month == currentDate.Month && x.RentDate.Day == currentDate.Day && x.Available == true && x.Deleted == false).FirstOrDefault(); if (datesModel == null) { Available = false; break; } //praznici: var holidayCheck = context.Holidays.Where(x => x.Deleted == false && x.Holiday.Year == datesModel.RentDate.Year && x.Holiday.Month == datesModel.RentDate.Month && x.Holiday.Day == datesModel.RentDate.Day).FirstOrDefault(); if (holidayCheck != null) { holidayPriceDays++; } else { if (datesModel.RentDate.DayOfWeek == DayOfWeek.Friday || datesModel.RentDate.DayOfWeek == DayOfWeek.Saturday || datesModel.RentDate.DayOfWeek == DayOfWeek.Sunday) // popust za vikend { discountPriceDays++; } else { normalPriceDays++; } } currentDate = currentDate.AddDays(1); } if (!Available) { return(BadRequest("The dates you entered are not available")); } Reservation reservation = new Reservation(); reservation.ApartmanID = rentD.ApartmanID; reservation.GuestID = rentD.GuestID; reservation.SingUpDate = rentD.RentDate; reservation.NumberOfNights = rentD.RentDays; reservation.Stauts = ReservationStatus.Created; // popust za vikend: reservation.TotalPrice = 0; //ako je praznik onda se povecava cena za 5 % praznik if (holidayPriceDays != 0) { reservation.TotalPrice += holidayPriceDays * (apartman.PricePerNight + ((5 * apartman.PricePerNight) / 100)); } if (normalPriceDays != 0) { reservation.TotalPrice += normalPriceDays * apartman.PricePerNight; } if (discountPriceDays != 0) { reservation.TotalPrice += discountPriceDays * (apartman.PricePerNight - ((10 * apartman.PricePerNight) / 100)); //10% popusta } context.Reservations.Add(reservation); context.SaveChanges(); currentDate = rentD.RentDate; for (int i = 0; i < rentD.RentDays; i++) { DatesModel datesModel = context.DatesModels.Where(x => x.ApartmanID == rentD.ApartmanID && x.RentDate.Year == currentDate.Year && x.RentDate.Month == currentDate.Month && x.RentDate.Day == currentDate.Day && x.Available == true && x.Deleted == false).FirstOrDefault(); datesModel.Available = false; context.SaveChanges(); currentDate = currentDate.AddDays(1); } return(Ok("Request sent")); }
private ApartmentBM GetApartmentInfo(Apartman apartman) //za sve GET Apartments { ApartmentBM apartmentBM = new ApartmentBM(); apartmentBM.ID = apartman.ID; apartmentBM.Type = apartman.Type.ToString(); apartmentBM.Status = apartman.Status.ToString(); apartmentBM.SingUpTime = apartman.SingUpTime; apartmentBM.SingOutTime = apartman.SingOutTime; apartmentBM.RoomNumber = apartman.RoomNumber; // apartmentBM.RentDates = apartman.RentDates; apartmentBM.PricePerNight = apartman.PricePerNight; apartmentBM.GuestNumber = apartman.GuestNumber; //location info: Location locationInfo = context.Locations.Where(x => x.ID == apartman.LocationID).FirstOrDefault(); apartmentBM.Latitude = locationInfo.Latitude; apartmentBM.Longitude = locationInfo.Longitude; //Coments into: apartmentBM.CommentIDs = new HashSet <int>(); ICollection <Comment> comms = apartman.Comments; // wokrs if (comms != null) { foreach (var comment in comms) { apartmentBM.CommentIDs.Add(comment.ID); } } //Amenities into: apartmentBM.Amenities = new HashSet <string>(); ICollection <Amenitie> amms = apartman.Amenities; // wokrs if (amms != null) { foreach (var amm in amms) { apartmentBM.Amenities.Add(amm.Name); } } //Adress apartmentBM.Streat = locationInfo.Adress.Streat; apartmentBM.StreatNumber = locationInfo.Adress.StreatNumber; apartmentBM.ZipCode = locationInfo.Adress.ZipCode; apartmentBM.Settlement = locationInfo.Adress.Settlement; //Host: User Host = context.Users.Where(x => x.ID == apartman.HostID).FirstOrDefault(); apartmentBM.HostID = Host.ID; apartmentBM.HostName = Host.Name; apartmentBM.HostSurname = Host.Surname; //pictures if (apartman.Pictures != null && apartman.Pictures != "") { apartmentBM.Pictures = new List <string>(); string[] pictures = apartman.Pictures.Split(';'); for (int i = 0; i < pictures.Length; i++) { // byte[] imageBits = System.IO.File.ReadAllBytes(@"D:\Fax\6.Semestar\Web\Projekat\AirBnb_Web1\AirBnb_Web1\Resource\Images\BodyPart_ae1d3ad9-2b71-4222-8517-4821aa41f3ef.jpg"); //string imageBase64 = Convert.ToBase64String(imageBits); if (pictures[i] != "") { apartmentBM.Pictures.Add("http://localhost:8080/" + pictures[i]); } } } //RentDates: ICollection <DatesModel> datesModels = context.DatesModels.Where(x => x.ApartmanID == apartman.ID && x.Available == true && x.Deleted == false).ToList(); if (datesModels != null && datesModels.Count > 0) { if (apartmentBM.RentDates == null) { apartmentBM.RentDates = new HashSet <DateTime>(); } foreach (DatesModel dateModel in datesModels) { apartmentBM.RentDates.Add(dateModel.RentDate); } } return(apartmentBM); }
private bool GetApartmentFromBM(ApartmentBM apartmentBM) //add apartment { Apartman apartman = new Apartman(); apartman.Type = (apartmentBM.Type == ApartmanType.FullApartman.ToString()) ? ApartmanType.FullApartman : ApartmanType.Room; apartman.Status = ApartmanStatus.NotActive; apartman.HostID = apartmentBM.HostID; //promeni ovaj datetype : apartman.SingUpTime = apartmentBM.SingUpTime; apartman.SingOutTime = apartmentBM.SingOutTime; apartman.RoomNumber = apartmentBM.RoomNumber; apartman.PricePerNight = apartmentBM.PricePerNight; //pics apartman.Pictures = ""; if (apartmentBM.Pictures != null) { foreach (string pic in apartmentBM.Pictures) { apartman.Pictures = pic + ';'; } } apartman.GuestNumber = apartmentBM.GuestNumber; Adress adress1 = new Adress(); adress1.Streat = apartmentBM.Streat; adress1.StreatNumber = apartmentBM.StreatNumber; adress1.ZipCode = apartmentBM.ZipCode; adress1.Settlement = apartmentBM.Settlement; context.Adresss.Add(adress1); context.SaveChanges(); //location info: Location locationInfo = new Location(); locationInfo.Latitude = apartmentBM.Latitude; locationInfo.Longitude = apartmentBM.Longitude; locationInfo.AdressID = adress1.ID; context.Locations.Add(locationInfo); context.SaveChanges(); apartman.LocationID = locationInfo.ID; //Amenities: apartman.Amenities = new List <Amenitie>(); foreach (string amm in apartmentBM.Amenities) { Amenitie amenitie = context.Amenities.Where(x => x.Name == amm).FirstOrDefault(); apartman.Amenities.Add(amenitie); } context.SaveChanges(); apartman.Deleted = false; context.Apartmans.Add(apartman); context.SaveChanges(); //zbog slike mi treba ID: apartmentBM.ID = apartman.ID; return(true); }
public int Put([FromBody] Apartman a) { ApartmanProvider provider = new ApartmanProvider(); return(provider.EditApartman(a)); }
public ActionResult IzmenaApartmana(string tipApartmana, string brSoba, string brGostiju, string ulica, string broj, string grad, string postBroj, string datumiIzdavanje, string cena, string statusApartmana, string vremePrijava, string vremeOdjava, List <string> sadrzajiApartmana, string idApartmana) { Korisnik kor = (Korisnik)Session["korisnik"]; if (kor == null) { kor = new Korisnik(); Session["korisnik"] = kor; } if (brSoba == "" || brGostiju == "" || ulica == "" || broj == "" || grad == "" || postBroj == "" || cena == "" || vremePrijava == "" || vremeOdjava == "" || datumiIzdavanje == "" || sadrzajiApartmana.Count == 0) { ViewBag.ErrorMessage = "Ne smete nijedno polje ostaviti prazno, da biste uspesno mogli da izmenite apartman!"; return(View("Greska")); } foreach (Korisnik k in Database.registrovaniKorisnici.Values) { if (k.KorisnickoIme == kor.KorisnickoIme && k.Uloga == Uloga.DOMACIN) { TipApartmana tip; if (tipApartmana == "CEO_APARTMAN") { tip = TipApartmana.CEO_APARTMAN; } else { tip = TipApartmana.SOBA; } StatusApartmana status; if (statusApartmana == "AKTIVAN") { status = StatusApartmana.AKTIVAN; } else { status = StatusApartmana.NEAKTIVAN; } Adresa adresa = new Adresa(broj, ulica, postBroj, grad); Lokacija lokacija = new Lokacija(45.245, 19.87, adresa); Apartman apartman = new Apartman(); foreach (int id in Database.sviApartmani.Keys) { if (id == Int32.Parse(idApartmana)) { Database.sviApartmani.TryGetValue(id, out apartman); } } string[] datumi = datumiIzdavanje.Split(' ', ','); string[] split; List <DateTime> noviDatumi = new List <DateTime>(); foreach (string dat in datumi) { split = dat.Split('-', '.', '/'); DateTime datum = new DateTime(Int32.Parse(split[2]), Int32.Parse(split[1]), Int32.Parse(split[0])); noviDatumi.Add(datum); } SadrzajApartmana sadrzaj; List <SadrzajApartmana> sadrzajiAp = new List <SadrzajApartmana>(); foreach (string s in sadrzajiApartmana) { foreach (SadrzajApartmana sadrz in Database.sadrzajiApartmana.Values) { if (sadrz.Naziv == s) { sadrzaj = new SadrzajApartmana(sadrz.Id, sadrz.Naziv); sadrzajiAp.Add(sadrzaj); } } } Database.domacini[apartman.Domacin.KorisnickoIme].ApartmaniZaIzdavanje.Remove(apartman); Database.sviApartmani.Remove(Int32.Parse(idApartmana)); apartman.TipApartman = tip; apartman.BrojSoba = Int32.Parse(brSoba); apartman.BrojGostiju = Int32.Parse(brGostiju); apartman.CenaPoNoci = Double.Parse(cena); apartman.DatumiZaIzdavanje = noviDatumi; apartman.DostupnostPoDatumima = noviDatumi; apartman.Lokacija = lokacija; apartman.Status = status; apartman.VremeZaPrijavu = vremePrijava; apartman.VremeZaOdjavu = vremeOdjava; apartman.SadrzajiApartmana = sadrzajiAp; if (Request.Files.Count > 0) { for (int i = 0; i < Request.Files.Count; i++) { var file = Request.Files[i]; if (file != null && file.ContentLength > 0) { var fileName = Path.GetFileName(file.FileName); var path = Path.Combine(Server.MapPath("~/Images/"), fileName); file.SaveAs(path); Image uf = new Image(fileName, path); apartman.Slike.Add(uf); } } } Database.sviApartmani.Add(Int32.Parse(idApartmana), apartman); Database.domacini[kor.KorisnickoIme].ApartmaniZaIzdavanje.Add(apartman); Database.UpisiSveApartmane(); ViewBag.Message = "Apartman je uspesno izmenjen!"; return(View("IzmenaPodatakaRez")); } } ViewBag.Message = "Apartman nije izmenjen dogodila se greska."; return(View("IzmenaPodatakaRez")); }
public ActionResult KreirajApartman(string tipApartmana, string brSoba, string brGostiju, string ulica, string broj, string grad, string postBroj, string datumiIzdavanje, string cena, string statusApartmana, string vremePrijava, string vremeOdjava, List <string> sadrzajiApartmana) { Korisnik kor = (Korisnik)Session["korisnik"]; if (kor == null) { kor = new Korisnik(); Session["korisnik"] = kor; } if (brSoba == "" || brGostiju == "" || ulica == "" || broj == "" || grad == "" || postBroj == "" || cena == "" || vremePrijava == "" || vremeOdjava == "" || datumiIzdavanje == "" || sadrzajiApartmana.Count == 0) { ViewBag.ErrorMessage = "Morate popuniti sva polja da bi ste kreirali apartman!"; return(View("Greska")); } foreach (Korisnik k in Database.registrovaniKorisnici.Values) { if (kor.KorisnickoIme == k.KorisnickoIme && k.Uloga == Uloga.DOMACIN) { TipApartmana tip; if (tipApartmana == "CEO_APARTMAN") { tip = TipApartmana.CEO_APARTMAN; } else { tip = TipApartmana.SOBA; } StatusApartmana status; if (statusApartmana == "NEAKTIVAN") { status = StatusApartmana.NEAKTIVAN; } else { status = StatusApartmana.AKTIVAN; } Adresa adresa = new Adresa(broj, ulica, postBroj, grad); Lokacija lokacija = new Lokacija(45.18, 19.87, adresa); Domacin domacin = new Domacin(kor.Ime, kor.Prezime, kor.KorisnickoIme, kor.Lozinka, kor.Pol); Random id = new Random(); Apartman apartman = new Apartman(id.Next(0, 700), tip, int.Parse(brSoba), int.Parse(brGostiju), lokacija, domacin, double.Parse(cena), status, vremePrijava, vremeOdjava); string[] datumi = datumiIzdavanje.Split(' ', ','); string[] split; foreach (string dat in datumi) { split = dat.Split('-', '.', '/'); DateTime datum = new DateTime(Int32.Parse(split[2]), Int32.Parse(split[1]), Int32.Parse(split[0])); apartman.DatumiZaIzdavanje.Add(datum); apartman.DostupnostPoDatumima.Add(datum); } if (Request.Files.Count > 0) { for (int i = 0; i < Request.Files.Count; i++) { var file = Request.Files[i]; if (file != null && file.ContentLength > 0) { var fileName = Path.GetFileName(file.FileName); var path = Path.Combine(Server.MapPath("~/Images/"), fileName); file.SaveAs(path); Image uf = new Image(fileName, path); apartman.Slike.Add(uf); } } } SadrzajApartmana sadrzaj; //ovdeeeeeeeeeeeeeeeeeeee foreach (string s in sadrzajiApartmana) { foreach (SadrzajApartmana sadrz in Database.sadrzajiApartmana.Values) { if (sadrz.Naziv == s) { sadrzaj = new SadrzajApartmana(sadrz.Id, sadrz.Naziv); apartman.SadrzajiApartmana.Add(sadrzaj); } } } Database.sviApartmani.Add(apartman.Id, apartman); Database.domacini[domacin.KorisnickoIme].ApartmaniZaIzdavanje.Add(apartman); Database.UpisiSveApartmane(); ViewBag.Message = "Apartman je uspesno kreiran."; return(View("KreiranjeApartmanaRez")); } } ViewBag.Message = "Apartman nije kreiran, desila neka greska.Molimo Vas, pokustajte ponovo!"; return(View("KreiranjeApartmanaRez")); }