public static void AddRegisteration(Registeration registeration) { try { using (Travel_In_GroupDBEntities ctx = new Travel_In_GroupDBEntities()) { TravelingDriver travelingDriver = ctx.TravelingDrivers.FirstOrDefault(w => w.TravelingIdDriver == registeration.TravelingIdDriver); TravelingPassenger travelingPassenger = ctx.TravelingPassengers.FirstOrDefault(w => w.TravelingIdPassenger == registeration.TravelingIdPassenger); registeration.TravelingDriver = travelingDriver; registeration.TravelingPassenger = travelingPassenger; travelingPassenger.IsEmbedded = true; TimeSpan timeSpan = registeration.TravelingPassenger.ToDate - registeration.TravelingPassenger.FromDate; int range = timeSpan.Days; DateTime date = registeration.TravelingPassenger.FromDate; TimeSpan ts = new TimeSpan(registeration.TravelingDriver.Time.Hours, registeration.TravelingDriver.Time.Minutes, registeration.TravelingDriver.Time.Seconds); date = date + ts; Registeration newRegisteration = new Registeration() { TravelingIdDriver = registeration.TravelingIdDriver, TravelingIdPassenger = registeration.TravelingIdPassenger, Date = DateTime.Now, TravelingDriver = travelingDriver, TravelingPassenger = travelingPassenger }; ctx.Registerations.Add(newRegisteration); ctx.SaveChanges(); //לולאה על כל טווח הנסיעה for (int i = 0; i < range; i++) { if (registeration.TravelingPassenger.Weekday.Contains(((int)date.DayOfWeek + 1).ToString())) { var q = ctx.TravelDriverRanges.FirstOrDefault(t => t.Id == travelingDriver.TravelingIdDriver && t.Date == date.Date); q.NumSeatsAvailable = q.NumSeatsAvailable - 1; RegistrationDateRange registrationDateRange = new RegistrationDateRange() { Id = newRegisteration.Id, DateInRange = date, IsActive = true, IsComplain = false, NumComplainants = 0, NumPassengers = 1 }; registrationDateRange.Registeration = newRegisteration; ctx.RegistrationDateRanges.Add(registrationDateRange); ctx.SaveChanges(); } date = date.AddDays(1); } } } catch { throw; } }
public static bool isNow(RegistrationDateRange dateRange) { DateTime d = new DateTime(); d = DateTime.Now; TimeSpan timeSpan = d.TimeOfDay - dateRange.DateInRange.TimeOfDay; if (dateRange.DateInRange.Date == d.Date && timeSpan.Minutes <= -30) { return(true); } return(false); }
public static RegistrationDateRange GetDateRange(RegistrationDateRangeDTO dtoRegDateRange) { RegistrationDateRange registeration = new RegistrationDateRange() { Id = dtoRegDateRange.Id, DateInRange = dtoRegDateRange.DateInRange, IsActive = dtoRegDateRange.IsActive, IsComplain = dtoRegDateRange.IsComplain, NumComplainants = dtoRegDateRange.NumComplainants, NumPassengers = dtoRegDateRange.NumPassengers }; return(registeration); }
public static RegistrationDateRangeDTO GetDateRangeDTO(RegistrationDateRange registrationDateRange) { if (registrationDateRange == null) { return(null); } RegistrationDateRangeDTO registrationDateRangeDTO = new RegistrationDateRangeDTO() { Id = registrationDateRange.Id, DateInRange = registrationDateRange.DateInRange, IsActive = registrationDateRange.IsActive, IsComplain = registrationDateRange.IsComplain, NumComplainants = registrationDateRange.NumComplainants, NumPassengers = registrationDateRange.NumPassengers }; return(registrationDateRangeDTO); ; }
private static bool isComplain(RegistrationDateRangeDTO traveling) { RegistrationDateRange regDate = RegistrationDateRangeDal.GetDate(traveling.Id, traveling.DateInRange); return(regDate.IsComplain); }