/// <summary> /// Method to Get Evaluated Dates /// </summary> /// <param name="companyCode"></param> /// <param name="userCode"></param> /// <param name="createdBy"></param> /// <returns></returns> public DatesModel GetEvaluationDates(string companyCode, string userCode, string createdBy) { DatesModel lstdts = new DatesModel(); try { List <FeedbackDetailsModel> lstEvaldate = null; List <UserStartDateModel> lstStartdate = null; using (IDbConnection connection = IDbOpenConnection()) { var p = new DynamicParameters(); p.Add("User_Code", userCode); p.Add("Created_By", createdBy); using (var multiselect = connection.QueryMultiple(SP_HD_ICE_GETEVALUATEDDATES, p, commandType: CommandType.StoredProcedure)) { lstEvaldate = multiselect.Read <FeedbackDetailsModel>().ToList(); lstStartdate = multiselect.Read <UserStartDateModel>().ToList(); } lstdts.lstEvalDate = lstEvaldate; lstdts.lstStartDate = lstStartdate; connection.Close(); } } catch (Exception ex) { throw; } return(lstdts); }
public IHttpActionResult ChageReservationRequests(int reservationId, Helper.Enums.ReservationStatus status) { if (CheckRole("Host")) { if (CheckRole("Guest")) { return(StatusCode(HttpStatusCode.Unauthorized)); } } Reservation reservation = context.Reservations.Where(x => x.ID == reservationId && x.Deleted == false).FirstOrDefault(); if (reservation == null) { return(NotFound()); } DateTime currentDate = reservation.SingUpDate; if (status == ReservationStatus.Rejected || status == ReservationStatus.Canceled) { for (int i = 0; i < reservation.NumberOfNights; i++) { DatesModel datesModel = context.DatesModels.Where(x => x.ApartmanID == reservation.ApartmanID && x.RentDate == currentDate && x.Deleted == false).FirstOrDefault(); if (datesModel == null) { continue; } datesModel.Available = true; context.SaveChanges(); currentDate = currentDate.AddDays(1); } } if (status == ReservationStatus.Done) { DateTime checkIfDateIsDone = reservation.SingUpDate.AddDays(reservation.NumberOfNights); if (checkIfDateIsDone >= DateTime.Now) { return(Ok("Date is not done")); } } reservation.Stauts = status; context.SaveChanges(); return(Ok()); }
public IHttpActionResult AddRentDates(DatesModelFirstAdd datesModelBM) //kad dodaje novi apartmant { foreach (DateTime item in datesModelBM.CheckedDates) { DatesModel datesModel = new DatesModel(); datesModel.ApartmanID = datesModelBM.ApartmanID; datesModel.Available = true; datesModel.RentDate = item; context.DatesModels.Add(datesModel); context.SaveChanges(); } return(Ok()); }
/// <summary> /// Method to Get Evaluated Dates /// </summary> /// <param name="companyCode"></param> /// <param name="userCode"></param> /// <param name="createdBy"></param> /// <returns></returns> public DatesModel GetEvaluationDates(string companyCode, string userCode, string createdBy) { DatesModel lstEvaldts = null; try { DAL_ICE objlstEvaldts = new DAL_ICE(); lstEvaldts = objlstEvaldts.GetEvaluationDates(companyCode, userCode, createdBy); } catch (Exception ex) { throw; } return(lstEvaldts); }
public IHttpActionResult DeleteHostRentDate(int dateID) { if (CheckRole("Host")) { return(StatusCode(HttpStatusCode.Unauthorized)); } DatesModel datesModel = context.DatesModels.Where(x => x.ID == dateID && x.Deleted == false).FirstOrDefault(); if (datesModel != null) { datesModel.Deleted = true; context.SaveChanges(); } return(Ok()); }
public IHttpActionResult AddHostRentDate(AddRentDate rentDate) { if (CheckRole("Host")) { return(StatusCode(HttpStatusCode.Unauthorized)); } if (rentDate.RentDate.Year.ToString() != "0001") { return(StatusCode(HttpStatusCode.NotAcceptable)); } DatesModel datesModel = new DatesModel(); datesModel.ApartmanID = rentDate.ApartmentID; datesModel.Available = true; datesModel.RentDate = rentDate.RentDate; context.DatesModels.Add(datesModel); context.SaveChanges(); return(Ok()); }
public async Task <IActionResult> AddDate([FromBody] DatesModel model) { try { if (await _context.dates.AnyAsync(f => f.Date == model.Date)) { return(StatusCode(400, new { code = 400, message = " Exist", result = (object)null })); } var date = _mapper.Map <Dates>(model); await _context.dates.AddAsync(date); await _context.SaveChangesAsync(); return(StatusCode(200, new { code = 200, message = " Successfuly Created", result = new { ID = date.ID, Date = date.Date, booked = date.isBooked } })); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
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")); }
protected override void Seed(AirBnb_Web1.DataAccessLayer.AirBnbContext context) { // This method will be called after migrating to the latest version. // You can use the DbSet<T>.AddOrUpdate() helper extension method // to avoid creating duplicate seed data. 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 = adress1.ID; context.Locations.Add(location1); context.SaveChanges(); User user1 = new User { ID = 1, Name = "Sasa", Surname = "Dragomirovic", Gender = Helper.Enums.Genders.Male, Password = "******", Role = Helper.Enums.Roles.Admin, UserName = "******", Blocked = false }; User user2 = new User { ID = 2, Name = "Biba", Surname = "Bibic", Gender = Helper.Enums.Genders.Male, Password = "******", Role = Helper.Enums.Roles.Guest, UserName = "******", Blocked = false }; User user3 = new User { ID = 3, Name = "Gruja", Surname = "Grujic", Gender = Helper.Enums.Genders.Male, Password = "******", Role = Helper.Enums.Roles.Host, UserName = "******", Blocked = false }; context.Users.Add(user1); context.Users.Add(user2); context.Users.Add(user3); context.SaveChanges(); Apartman apartman1 = new Apartman { ID = 1, SingUpTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 12, 0, 0), SingOutTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 12, 0, 0), Status = Helper.Enums.ApartmanStatus.Active, GuestNumber = 3, HostID = user3.ID, LocationID = location1.ID, PricePerNight = 20, RoomNumber = 2 }; context.Apartmans.Add(apartman1); context.SaveChanges(); Comment comment1 = new Comment { ID = 1, ApartmanID = apartman1.ID, GuestID = user2.ID, Rate = 9.5, Text = "Nice one" }; context.Comments.Add(comment1); context.SaveChanges(); DatesModel rentDate1 = new DatesModel { ID = 1, ApartmanID = apartman1.ID, Available = true, RentDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 12, 0, 0) }; context.DatesModels.Add(rentDate1); context.SaveChanges(); DatesModel rentDate2 = new DatesModel { ID = 1, ApartmanID = apartman1.ID, Available = true, RentDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 12, 0, 0) }; context.DatesModels.Add(rentDate2); context.SaveChanges(); DatesModel rentDate3 = new DatesModel { ID = 1, ApartmanID = apartman1.ID, Available = true, RentDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 12, 0, 0) }; context.DatesModels.Add(rentDate3); context.SaveChanges(); Reservation reservation1 = new Reservation { ID = 1, ApartmanID = apartman1.ID, GuestID = user2.ID, NumberOfNights = 10, SingUpDate = rentDate1.RentDate, Stauts = Helper.Enums.ReservationStatus.Accepted, TotalPrice = 100 }; context.Reservations.Add(reservation1); context.SaveChanges(); Reservation reservation2 = new Reservation { ID = 2, ApartmanID = apartman1.ID, GuestID = user2.ID, NumberOfNights = 10, SingUpDate = rentDate2.RentDate, Stauts = Helper.Enums.ReservationStatus.Created, TotalPrice = 200 }; context.Reservations.Add(reservation2); context.SaveChanges(); Reservation reservation3 = new Reservation { ID = 3, ApartmanID = apartman1.ID, GuestID = user2.ID, NumberOfNights = 10, SingUpDate = rentDate3.RentDate, Stauts = Helper.Enums.ReservationStatus.Done, TotalPrice = 200 }; context.Reservations.Add(reservation3); context.SaveChanges(); HolidayDays h1 = new HolidayDays { Deleted = false, Holiday = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 12, 0, 0) }; context.Holidays.Add(h1); context.SaveChanges(); }
public ActionResult SubmitDates(DatesModel date) { return(Json(new { data = "zorana" }, JsonRequestBehavior.AllowGet)); }