public void TakeFee(BE.Order order) { // find matching GuestRequest to given order List <BE.GuestRequest> GuestRequestsList = _dal.GetAllRequests(); IEnumerable <BE.GuestRequest> req = from guestRequest in GuestRequestsList where guestRequest.GuestRequestKey == order.GuestRequestKey select guestRequest; int days = 0; BE.GuestRequest gReq = null; try { gReq = req.Single(); } // handle exceptions catch (ArgumentNullException exc) { Console.WriteLine(exc.Message); } catch (InvalidOperationException exc) { Console.WriteLine(exc.Message); } // get number of vacation days days = (gReq.ReleaseDate - gReq.EntryDate).Days; // find matching HostingUnit to given order List <BE.HostingUnit> HostingUnitsList = _dal.GetAllHostingUnits(); IEnumerable <BE.HostingUnit> units = from hostingUnit in HostingUnitsList where hostingUnit.HostingUnitKey == order.HostingUnitKey select hostingUnit; BE.HostingUnit unit = null; try { unit = units.Single(); } // handle exceptions catch (ArgumentNullException exc) { Console.WriteLine(exc.Message); } catch (InvalidOperationException exc) { Console.WriteLine(exc.Message); } // take fee unit.Owner.Balance -= days * BE.Configuration.Fee; _dal.UpdateHostingUnit(unit); // update DS }
/// <summary> /// test Idal's HostingUnit functions /// </summary> private static void HostingUnit() { List <BE.HostingUnit> unitsList = _dal.GetAllHostingUnits(); //add BE.HostingUnit unit = new BE.HostingUnit() { HostingUnitKey = ++BE.Configuration.HostingUnitKey, HostingUnitName = "hotel california", Owner = unitsList[0].Owner, type = BE.Enums.UnitType.Hotel, Area = BE.Enums.Area.Center, Diary = new bool[BE.Configuration._month, BE.Configuration._days], }; _dal.AddHostingUnit(unit.Clone()); PrintHostingUnits(); // update unit.Owner = unitsList[2].Owner; _dal.UpdateHostingUnit(unit.Clone()); Console.WriteLine("after update:"); PrintHostingUnits(); //delete _dal.DeleteHostingUnit(unit.Clone()); Console.WriteLine("after delete:"); PrintHostingUnits(); }