/// <summary> /// Редактировать бронь на комнату /// </summary> /// <param name="id">Идентификатор</param> /// <param name="mainDate">Дата</param> /// <param name="start">Время начала</param> /// <param name="end">Конечное время</param> /// <param name="room">Комната</param> /// <returns></returns> public void Edit(int id, DateTime mainDate, DateTime start, DateTime end, RoomInfo room) { orderRoom = dataContent.OrderRooms.FirstOrDefault(x => x.ID == id); if (orderRoom == null) { throw new ArgumentException("Не найден объект"); } OrderRoomStatus status = OrderRoomStatus.FilingArmor; switch (orderRoom.Status) { case 1: { status = OrderRoomStatus.ReservationApproved; break; } case 2: { status = OrderRoomStatus.ReservationDeclined; break; } case 3: { status = OrderRoomStatus.ReservationMarkedForDeletionByManager; break; } } Check(mainDate, start, end, null, room, status, false); SetValue(mainDate, start, end, null, room, status, false); }
/// <summary> /// Отклонить бронь /// </summary> /// <param name="id">Идентификатор</param> public void ReservationDeclined(int id) { orderRoom = dataContent.OrderRooms.FirstOrDefault(x => x.ID == id); if (orderRoom == null) { throw new ArgumentException("Не найден объект"); } orderRoom.Status = 2; dataContent.SaveChanges(); }
/// <summary> /// Удалить бронь на комнатц /// </summary> /// <param name="id">Идентификатор</param> public void Delete(int id) { orderRoom = dataContent.OrderRooms.FirstOrDefault(x => x.ID == id); if (orderRoom == null) { throw new ArgumentException("Не найден объект"); } dataContent.OrderRooms.Remove(orderRoom); dataContent.SaveChanges(); }
private void OrderRoomToForm(OrderRoom orderRoom) { //ממירה את המידע בטנ"מ לקוח לטופס label_order_id.Text = orderRoom.ID.ToString(); label_order_roomNumber.Text = orderRoom.Room.RoomNumber; date_checkin.Value = orderRoom.CheckinDate; date_checkout.Value = orderRoom.CheckoutDate; order_date.Value = orderRoom.OrderDate; textBox_comment.Text = orderRoom.Comment; label_order_price.Text = orderRoom.TotalPrice.ToString(); }
/// <summary> /// Редактировать бронь на комнату /// </summary> /// <param name="id">Идентификатор</param> /// <param name="mainDate">Дата</param> /// <param name="start">Время начала</param> /// <param name="end">Конечное время</param> /// <param name="room">Комната</param> /// <param name="status">Статус брони </param> /// <returns></returns> public void Edit(int id, DateTime mainDate, DateTime start, DateTime end, RoomInfo room, OrderRoomStatus status) { orderRoom = dataContent.OrderRooms.FirstOrDefault(x => x.ID == id); if (orderRoom == null) { throw new ArgumentException("Не найден объект"); } Check(mainDate, start, end, null, room, status, false); SetValue(mainDate, start, end, null, room, status, false); }
private OrderRoom FormToOrderRoom() { OrderRoom orderRoom = new OrderRoom(); orderRoom.ID = int.Parse(label_order_id.Text); orderRoom.Room = (listBox_Rooms.SelectedItem as Room); orderRoom.CheckinDate = date_checkin.Value.Date; orderRoom.CheckoutDate = date_checkout.Value.Date; orderRoom.OrderDate = order_date.Value.Date; orderRoom.Client = (listBox_Clients.SelectedItem as Client); orderRoom.Comment = textBox_comment.Text; return(orderRoom); }
private void Button_Delete_Order(object sender, EventArgs e) { OrderRoom orderRoom = FormToOrderRoom(); if (orderRoom.ID == 0) { MessageBox.Show("Please choice an order to delete"); } else { if (MessageBox.Show("Are you sure to delete the order: " + orderRoom.ID + " ? ", "Be Careful", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2, MessageBoxOptions.RightAlign | MessageBoxOptions.RtlReading) == System.Windows.Forms.DialogResult.Yes) { orderRoom.Delete(); Clean_Form(); OrderRoomArrToForm(); } } }
/// <summary> /// Данные о брони /// </summary> /// <param name="id">Идентификатор</param> /// <returns></returns> public OrderRoomInfo GetOrderRoom(int id) { orderRoom = dataContent.OrderRooms.FirstOrDefault(x => x.ID == id); if (orderRoom == null) { return(null); } OrderRoomInfo orderRoomInfo = new OrderRoomInfo { ID = orderRoom.ID, Start = orderRoom.Start, End = orderRoom.End, RoomID = orderRoom.RoomID, MainDate = orderRoom.Start, UserID = orderRoom.UserID, Status = (OrderRoomStatus)orderRoom.Status }; return(orderRoomInfo); }
/// <summary> /// Подтвердить бронь проверка на наличие есть ли еще на брони на время /// вызывать перед ReservationApproved /// </summary> /// <param name="id">Идентификатор</param> public List <OrderRoomInfo> ChekReservationApproved(int id) { orderRoom = dataContent.OrderRooms.FirstOrDefault(x => x.ID == id); return(dataContent.OrderRooms.Where(x => (x.ID != id && x.Start <= orderRoom.Start && x.End >= orderRoom.Start && x.RoomID == orderRoom.RoomID && x.Status == 0) || (x.ID != id && x.Start <= orderRoom.End && x.End >= orderRoom.End && x.RoomID == orderRoom.RoomID && x.Status == 0) || (x.ID != id && x.Start >= orderRoom.Start && x.End <= orderRoom.End && x.RoomID == orderRoom.RoomID && x.Status == 0)). Select(m => new OrderRoomInfo { ID = m.ID, Start = m.Start, End = m.End, RoomID = m.RoomID, MainDate = m.Start, UserID = m.UserID, Status = (OrderRoomStatus)m.Status }).ToList()); }
private void Button_Save(object sender, EventArgs e) { if (!CheckGood()) { MessageBox.Show("You didn't write right,\n You need to: \n " + to_change, "TRY AGAIN", MessageBoxButtons.RetryCancel, MessageBoxIcon.Error); All_White(); to_change = ""; } else { OrderRoom orderRoom = FormToOrderRoom(); if (orderRoom.ID == 0) { if (orderRoom.Insert()) { MessageBox.Show("Order Details Saved"); Clean_Form(); OrderRoomArrToForm(); } else { MessageBox.Show("Cannot Save Order Details"); } } else { if (orderRoom.Update()) { MessageBox.Show("Order Details UPDATED"); Clean_Form(); OrderRoomArrToForm(); } else { MessageBox.Show("Cannot UPDATE order Details"); } } } }
/// <summary> /// Подтвердить бронь /// </summary> /// <param name="id">Идентификатор</param> public void ReservationApproved(int id) { orderRoom = dataContent.OrderRooms.FirstOrDefault(x => x.ID == id); if (orderRoom == null) { throw new ArgumentException("Не найден объект"); } orderRoom.Status = 1; List <OrderRoom> orderRoomList = dataContent.OrderRooms.Where(x => (x.ID != id && x.Start <= orderRoom.Start && x.End >= orderRoom.Start && x.RoomID == orderRoom.RoomID && x.Status == 0) || (x.ID != id && x.Start <= orderRoom.End && x.End >= orderRoom.End && x.RoomID == orderRoom.RoomID && x.Status == 0) || (x.ID != id && x.Start >= orderRoom.Start && x.End <= orderRoom.End && x.RoomID == orderRoom.RoomID && x.Status == 0)).ToList(); for (int i = 0; i < orderRoomList.Count; i++) { orderRoomList[i].Status = 2; } dataContent.SaveChanges(); }
/// <summary> /// Дабавить/редактировать /// </summary> /// <param name="name">Наименование</param> /// <param name="seatsCount">Количество кресел</param> /// <param name="isProjector">Наличие проектора</param> /// <param name="isMarkerBoard">Наличие маркерной доски</param> /// <param name="isBlock">Заблокировать комнату</param> /// <param name="isNew">Новый</param> private void SetValue(DateTime mainDate, DateTime start, DateTime end, UserInfo user, RoomInfo room, OrderRoomStatus status, bool isNew = true) { if (isNew) { orderRoom = new OrderRoom(); orderRoom.UserID = user.ID; } orderRoom.Start = new DateTime(mainDate.Year, mainDate.Month, mainDate.Day, start.Hour, start.Minute, start.Second); orderRoom.End = new DateTime(mainDate.Year, mainDate.Month, mainDate.Day, end.Hour, end.Minute, end.Second); orderRoom.RoomID = room.ID; orderRoom.Status = (int)status; if (isNew) { dataContent.OrderRooms.Add(orderRoom); } dataContent.SaveChanges(); }