private List <RenovationPeriod> ChooseAppointments(RenovationPeriod renovationPeriod, int roomId) { List <RenovationPeriod> alternativeAppointments = new List <RenovationPeriod>(); List <DateTime> potentialDates = GetPotentiallyAlternativeAppointments(renovationPeriod.BeginDate); int timeSpanInMinutes = (int)renovationPeriod.EndDate.Subtract(renovationPeriod.BeginDate).TotalMinutes; int i = 0; foreach (DateTime date in potentialDates) { i++; renovationPeriod.BeginDate = date.AddMinutes(30); renovationPeriod.EndDate = renovationPeriod.BeginDate.AddMinutes(timeSpanInMinutes); if (!CheckRoomAvailibility(date, roomId)) { potentialDates = GetPotentiallyAlternativeAppointments(renovationPeriod.BeginDate); i = 0; continue; } if (i >= timeSpanInMinutes / 30 && CheckIfTimeValid(date.AddMinutes(30 - timeSpanInMinutes)) && CheckIfTimeValid(date.AddMinutes(30))) { alternativeAppointments.Add(new RenovationPeriod(date.AddMinutes(30 - timeSpanInMinutes), date.AddMinutes(30))); i = 0; } if (alternativeAppointments.Count == 10) { break; } } return(alternativeAppointments); }
public BaseRenovation(int roomId, RenovationPeriod renovationPeriod, string description, TypeOfRenovation typeOfRenovation) { RoomId = roomId; RenovationPeriod = renovationPeriod; Description = description; TypeOfRenovation = typeOfRenovation; }
public void DeleteRenovationPeriod(int roomNumber) { RenovationPeriod renovationPeriod = GetRenovationPeriodByRoomNumber(roomNumber); _context.Remove(renovationPeriod); _context.SaveChanges(); }
private void AddSoba() { Soba novaSoba = new Soba(); novaSoba.Sifra = Convert.ToInt32(SifraTb.Text); novaSoba.Kapacitet = Convert.ToInt32(KapacitetTb.Text); novaSoba.Zauzetost = Convert.ToInt32(ZauzetostTb.Text); novaSoba.Tip = (TypeOfUsage)TipCb.SelectedItem; novaSoba.Pocetak = (DateTime)PocetakTb.SelectedDate; novaSoba.Kraj = (DateTime)KrajTb.SelectedDate; Sobe.Add(novaSoba); RoomController roomController = new RoomController(); RenovationPeriodController renovationPeriodController = new RenovationPeriodController(); RenovationPeriod p = new RenovationPeriod(); Room room = new Room(); room.Capacity = novaSoba.Kapacitet; room.Number = novaSoba.Sifra; room.Occupation = novaSoba.Zauzetost; room.Usage = novaSoba.Tip; if (novaSoba.Pocetak != DateTime.Today && novaSoba.Kraj != DateTime.Today) { room.Renovation = true; p.room = room; p.BeginDate = novaSoba.Pocetak; p.EndDate = novaSoba.Kraj; renovationPeriodController.ScheduleRenovation(p); } roomController.AddRoom(room); // Resetujemo polja ClearFields(); UpdateTempSoba(); }
public Boolean Add(RenovationPeriod newRenovationPeriod) { List <RenovationPeriod> renovatonPeriods = GetAll(); renovatonPeriods.Add(newRenovationPeriod); Save(renovatonPeriods); return(true); }
public MergeRenovation(RenovationPeriod renovationPeriod, string description, TypeOfRenovation typeOfRenovation, int firstRoomId, int secondRoomId, string newRoomDescription, TypeOfUsage roomType) : base(firstRoomId, renovationPeriod, description, typeOfRenovation) { SecondRoomId = secondRoomId; NewRoomDescription = newRoomDescription; RoomType = roomType; }
public DivideRenovation(RenovationPeriod renovationPeriod, string description, TypeOfRenovation typeOfRenovation, int divideRoomId, string firstRoomDescription, string secondRoomDescription, TypeOfUsage firstRoomType, TypeOfUsage secondRoomType) : base(divideRoomId, renovationPeriod, description, typeOfRenovation) { FirstRoomDescription = firstRoomDescription; SecondRoomDescription = secondRoomDescription; FirstRoomType = firstRoomType; SecondRoomType = secondRoomType; }
/*public void CancelRenovation(RenovationPeriod renovationPeriod) * { * renovationPeriod.Room.IsActive = true; * renovationPeriod.IsDeleted = true; * Update(renovationPeriod); * _roomController.Update(renovationPeriod.Room); * }*/ private void CreateRenovationPeriod(Room room, DateTime startDate, DateTime endDate) { room.IsActive = false; RenovationPeriod renPer = new RenovationPeriod(startDate, endDate, false, room); AddRenovatoinPeriod(renPer); _roomService.UpdateRoom(room); //return renPer; }
public List <RenovationPeriod> GetAlternativeAppointemntsForBaseRenovation(RenovationPeriod renovationPeriod, int roomId) { renovationPeriod.BeginDate = SetNewDateTimesForRenovation(renovationPeriod.BeginDate); renovationPeriod.EndDate = SetNewDateTimesForRenovation(renovationPeriod.EndDate); List <RenovationPeriod> alternativeAppointments = new List <RenovationPeriod>(); do { alternativeAppointments = ChooseAppointments(renovationPeriod, roomId); }while (alternativeAppointments.Count != 10); return(alternativeAppointments); }
public Model.Manager.RenovationPeriod NewRenovationPeriod(Model.Manager.RenovationPeriod renovationPeriod) { List <RenovationPeriod> renovationPeriods = ReadFromFile(); RenovationPeriod searchRenovationPeriod = GetRenovationPeriodByRoomNumber(renovationPeriod.room.Number); if (searchRenovationPeriod != null) { return(null); } renovationPeriods.Add(renovationPeriod); WriteInFile(renovationPeriods); return(renovationPeriod); }
private bool CheckIfRoomIsAbsoulitelyAvailable(RenovationPeriod renovationPeriod, int roomId) { DateTime renovationTime = renovationPeriod.BeginDate; while (renovationTime.CompareTo(renovationPeriod.EndDate) <= 0) { if (!CheckRoomAvailibility(renovationTime, roomId)) { return(false); } renovationTime = renovationTime.AddMinutes(30); } return(true); }
public Boolean Update(int roomId, RenovationPeriod newRenovationPeriod) { List <RenovationPeriod> renovationPeriods = GetAll(); foreach (RenovationPeriod renPer in renovationPeriods) { if (renPer.Room.RoomId == roomId) { renovationPeriods[renovationPeriods.IndexOf(renPer)] = newRenovationPeriod; Save(renovationPeriods); return(true); } } return(false); }
private void UpdateSoba() { SelektovanaSoba.Sifra = Convert.ToInt32(SifraTb.Text); SelektovanaSoba.Kapacitet = Convert.ToInt32(KapacitetTb.Text); SelektovanaSoba.Zauzetost = Convert.ToInt32(ZauzetostTb.Text); SelektovanaSoba.Pocetak = (DateTime)PocetakTb.SelectedDate; SelektovanaSoba.Tip = (TypeOfUsage)TipCb.SelectedItem; SelektovanaSoba.Kraj = (DateTime)KrajTb.SelectedDate; RoomController roomController = new RoomController(); RenovationPeriodController renovationPeriodController = new RenovationPeriodController(); RenovationPeriod p = new RenovationPeriod(); Room room = new Room(); room.Capacity = SelektovanaSoba.Kapacitet; room.Number = SelektovanaSoba.Sifra; room.Occupation = SelektovanaSoba.Zauzetost; if (SelektovanaSoba.Pocetak == DateTime.Today && SelektovanaSoba.Kraj == DateTime.Today) { room.Renovation = false; renovationPeriodController.CancelRenovation(room.Number); } else if (SelektovanaSoba.Pocetak == DateTime.MinValue && SelektovanaSoba.Kraj == DateTime.MinValue) { room.Renovation = false; renovationPeriodController.CancelRenovation(room.Number); } else { if (renovationPeriodController.ViewRenovationByRoomNumber(room.Number) != null) { room.Renovation = true; p.room = room; p.BeginDate = SelektovanaSoba.Pocetak; p.EndDate = SelektovanaSoba.Kraj; renovationPeriodController.EditRenovation(p); } else { room.Renovation = true; p.room = room; p.BeginDate = SelektovanaSoba.Pocetak; p.EndDate = SelektovanaSoba.Kraj; renovationPeriodController.ScheduleRenovation(p); } } roomController.EditRoom(room); }
public RoomView() { InitializeComponent(); txtNameToSearch.Focus(); rooms.AddRange(roomController.ViewRooms()); foreach (Room r in rooms) { if (r.Usage != TypeOfUsage.Soba_za_lezanje) { RoomDTO roomDTO = new RoomDTO(); roomDTO.NumberOfRoom = r.Number.ToString(); roomDTO.isRenovate = r.Renovation; if (r.Usage == TypeOfUsage.Soba_za_pregled) { roomDTO.Purpose = "Soba za pregled"; } else { roomDTO.Purpose = "Operaciona sala"; } renovationPeriod = periodController.ViewRenovationByRoomNumber(r.Number); if (renovationPeriod != null) { roomDTO.StartRenovationDate = renovationPeriod.BeginDate.ToShortDateString(); roomDTO.EndRenovationDate = renovationPeriod.EndDate.ToShortDateString(); } else { roomDTO.StartRenovationDate = "-"; roomDTO.EndRenovationDate = "-"; } roomsDTO.Add(roomDTO); } } dgRooms.ItemsSource = roomsDTO; }
public List <Room> ViewRoomByUsage(TypeOfUsage usage, DateTime date) { List <Room> roomsByUsage = roomRepository.GetRoomsByUsage(usage); List <Room> result = new List <Room>(); foreach (Room r in roomsByUsage) { if (!r.Renovation) { result.Add(r); } else { RenovationPeriod renovationPeriod = renovationPeriodRepository.GetRenovationPeriodByRoomNumber(r.Number); if (renovationPeriod != null && DateTime.Compare(date, renovationPeriod.EndDate) >= 0) { result.Add(r); } } } return(result); }
public bool DeleteRenovationPeriod(int roomNumber) { List <RenovationPeriod> renovationPeriods = ReadFromFile(); RenovationPeriod renovationPeriodForDelete = null; foreach (RenovationPeriod renovationPeriod in renovationPeriods) { if (renovationPeriod.room.Number == roomNumber) { renovationPeriodForDelete = renovationPeriod; break; } } if (renovationPeriodForDelete == null) { return(false); } renovationPeriods.Remove(renovationPeriodForDelete); WriteInFile(renovationPeriods); return(true); }
public List <Room> ViewRoomByUsage(TypeOfUsage usage, DateTime beginDate, DateTime endDate) { List <Room> roomsByUsage = _roomRepository.GetRoomsByUsage(usage); List <Room> result = new List <Room>(); foreach (Room r in roomsByUsage) { if (!r.Renovation) { result.Add(r); } else { RenovationPeriod renovationPeriod = _renovationPeriodRepository.GetRenovationPeriodByRoomNumber(r.Id); int beginDateCompare = DateTime.Compare(beginDate, renovationPeriod.BeginDate); int endDateCompare = DateTime.Compare(endDate, renovationPeriod.EndDate); if (renovationPeriod != null && (beginDateCompare <= 0 && endDateCompare <= 0 || beginDateCompare >= 0 && endDateCompare >= 0)) { result.Add(r); } } } return(result); }
public void RemoveRenovationPeriod(RenovationPeriod renovationPeriod) { _renovationPeriodPeriodService.RemoveRenovationPeriod(renovationPeriod); }
public void UpdateRenovationPeriod(RenovationPeriod renovationPeriod) { _context.Update(renovationPeriod); _context.SaveChanges(); }
public void AddRenovationPeriod(RenovationPeriod renovationPeriod) { _context.RenovationPeriods.Add(renovationPeriod); _context.SaveChanges(); }
public void UpdateRenovationPeriod(RenovationPeriod renovationPeriod) { _renovationPeriodPeriodService.UpdateRenovationPeriod(renovationPeriod); }
private void Button_Click_9(object sender, RoutedEventArgs e) { string s1 = dataOd.SelectedDate.ToString(); string[] lines1 = s1.Split(' '); string datumOd = lines1[0]; if (String.IsNullOrEmpty(datumOd)) { MessageBox.Show("Morate izabrati datum početka ležanja.", "Upozorenje!", MessageBoxButton.OK, MessageBoxImage.Warning); dataOd.Focus(); return; } else if (String.IsNullOrEmpty(comboSoba.Text)) { MessageBox.Show("Morate izabrati sobu u koju želite smjesiti pacijenta.", "Upozorenje!", MessageBoxButton.OK, MessageBoxImage.Warning); comboSoba.Focus(); return; } else if (String.IsNullOrEmpty(comboKrevet.Text)) { MessageBox.Show("Morate izabrati krevet u koji želite smjesiti pacijenta.", "Upozorenje!", MessageBoxButton.OK, MessageBoxImage.Warning); comboKrevet.Focus(); return; } else if (comboKrevet.Text.Contains("zauzet")) { MessageBox.Show("Ne možete smjestiti pacijenta u krevet koji je zauzet.", "Upozorenje!", MessageBoxButton.OK, MessageBoxImage.Warning); comboKrevet.Focus(); return; } string[] t1 = datumOd.Split('/'); string s2 = dataDo.SelectedDate.ToString(); string[] lines2 = s2.Split(' '); string datumDo = lines2[0]; if (String.IsNullOrEmpty(datumDo)) { MessageBox.Show("Morate izabrati datum kraja ležanja.", "Upozorenje!", MessageBoxButton.OK, MessageBoxImage.Warning); dataDo.Focus(); return; } string[] t2 = datumDo.Split('/'); int god1 = Int32.Parse(t1[2]); int god2 = Int32.Parse(t2[2]); int mj1 = Int32.Parse(t1[0]); int mj2 = Int32.Parse(t2[0]); int dan1 = Int32.Parse(t1[1]); int dan2 = Int32.Parse(t2[1]); if (god2 < god1) { MessageBox.Show("Greška! Krajnji datum je stariji od početnog.", "Upozorenje!", MessageBoxButton.OK, MessageBoxImage.Warning); dataOd.Focus(); return; } else if (god1 == god2 && mj1 > mj2) { MessageBox.Show("Greška! Krajnji datum je stariji od početnog.", "Upozorenje!", MessageBoxButton.OK, MessageBoxImage.Warning); dataOd.Focus(); return; } else if (god1 == god2 && mj1 == mj2 && dan1 > dan2) { MessageBox.Show("Greška! Krajnji datum je stariji od početnog.", "Upozorenje!", MessageBoxButton.OK, MessageBoxImage.Warning); dataOd.Focus(); return; } Room r = roomPlacment; r.Occupation = r.Occupation + 1; rc.EditRoom(r); List <Examination> examinations = ec.ViewExaminationsByRoom(r.Number); foreach (Examination exm in examinations) { exm.room = r; ec.EditExamination(exm); } RenovationPeriod period = rpc.ViewRenovationByRoomNumber(r.Number); period.room = r; rpc.EditRenovation(period); PlacemetnInARoom placement = new PlacemetnInARoom(); int idPlacement = prc.getLastId(); placement.Id = ++idPlacement; placement.DateOfPlacement = (DateTime)dataOd.SelectedDate; placement.DateOfDismison = (DateTime)dataDo.SelectedDate; placement.room = r; placement.patientCard = patientCard; prc.PlaceInRoom(placement); var p = new PlaceInSickRoom(); p.Show(); }
public void RemoveRenovationPeriod(RenovationPeriod renovationPeriod) { _renovationPeriodRepository.Remove(renovationPeriod.Room.RoomId); }
public void UpdateRenovationPeriod(RenovationPeriod renovationPeriod) { _renovationPeriodRepository.Update(renovationPeriod.Room.RoomId, renovationPeriod); }
public void AddRenovatoinPeriod(RenovationPeriod newRenovationPeriod) { _renovationPeriodRepository.Add(newRenovationPeriod); }
public static RenovationPeriodDTO RenovationPeriodToRenovationPeriodDTO(RenovationPeriod renovationPeriod) { return(new RenovationPeriodDTO(renovationPeriod.BeginDate, renovationPeriod.EndDate)); }
public void AddRenovatoinPeriod(RenovationPeriod newRenovationPeriod) { _renovationPeriodPeriodService.AddRenovatoinPeriod(newRenovationPeriod); }