public int ClosingOrder(Order order, GuestRequest request, StatusO desiredStatus) { try { GuestRequest gr = FactorySingletonDal.GetInstance.GetGuestRequest(order.GuestRequestKey); if (desiredStatus == (StatusO)2) { gr.Status = (StatusGR)2; // if enum is defined order.Status = (StatusO)3; } else { BookDays(order); CloseOtherOrders(request); return(NumDaysBetween(gr.EntryDate, gr.ReleaseDate) * Configuration.NumCommission); //DayComission should be defined in Configurations } return(0); //default code } catch (KeyNotFoundException k) { throw k; } catch (InvalidOperationException g)// from DAL { throw g; } }
/// <summary> /// <summary> /// If the order dates are correct, sends an order object to DAL /// </summary> /// <param name="order"></param> public void ChangeStatusOfOrder(Order order, StatusO status) { try { if (order.Status == StatusO.ClosedByClientsResponse && order.Status == StatusO.ClosedBecauseofClient) { throw new InvalidOperationException(); } order.Status = status; } catch (KeyNotFoundException h)// where from??? { throw h; } }