/// <summary> /// Función encargada de verificar si cuenta con los permisos de edicion! /// </summary> /// <history> /// [vipacheco] 23/04/2016 Created /// </history> private void Cell_DoubleClick(object sender, RoutedEventArgs e) { // Se verifica que tenga permisos de editar if (_modeOpen != EnumMode.ReadOnly) { MealTicket mealTicket = grdMealTicket.SelectedItem as MealTicket; frmMealTicketsDetail frmealTkt = new frmMealTicketsDetail(_openBy) { Owner = this }; ObjectHelper.CopyProperties(frmealTkt._mealTicketCurrency, mealTicket); frmealTkt._modeOpen = EnumMode.Edit; frmealTkt.Title += "Edit - ID " + mealTicket.meID; if (frmealTkt.ShowDialog().Value) { int indexOrigin = obsMealTicket.IndexOf(mealTicket); MealTicket _mealTicket = ObjectHelper.CopyProperties(frmealTkt._mealTicketCurrency); if (_modeOpen == EnumMode.Edit && _openBy == EnumOpenBy.Checkbox) { dsMealTicket.Source = BRMealTickets.GetMealTickets(_guestID); } else if (_modeOpen == EnumMode.Edit && _openBy == EnumOpenBy.Button) { obsMealTicket.Insert(indexOrigin, _mealTicket); obsMealTicket.Remove(mealTicket); } } } }
/// <summary> /// /// </summary> /// <param name="guestID">Clave del guest</param> /// <history> /// [vipacheco] 31/Marzo/2016 Created /// [vipacheco] 08/Agosto/2016 Modified -> Se agrega validacion isclosed /// </history> public frmMealTickets(EnumOpenBy openBy, int guestID = 0) { _guestID = guestID; _openBy = openBy; bool isclosed = false; // Si no esta en modo busqueda if (guestID != 0) { lstMealTicket = BRMealTickets.GetMealTickets(guestID); SalesRoomCloseDates closeSalesRoom = BRSalesRooms.GetSalesRoom(Context.User.SalesRoom.srID); // Verificamos si alguno de sus cupones de comida es de una fecha cerrada, impedimos modificar los datos lstMealTicket.ForEach(x => { if (Common.IsClosed(x.meD, closeSalesRoom.srMealTicketsCloseD)) { isclosed = true; return; } }); // Si no esta en una fecha cerrada if (!isclosed) { // Verificamos los permisos del usuario if (Context.User.HasPermission(EnumPermission.MealTicket, EnumPermisionLevel.Standard)) { _modeOpen = EnumMode.Edit; } else { _modeOpen = EnumMode.ReadOnly; } } } // Esta en modo busqueda else { // Verificamos los permisos del usuario if (Context.User.HasPermission(EnumPermission.MealTicket, EnumPermisionLevel.Standard)) { _modeOpen = EnumMode.Edit; } else { _modeOpen = EnumMode.ReadOnly; } } // Se verifica si tiene permisos de edición! InitializeComponent(); GridHelper.SetUpGrid(grdMealTicket, new MealTicket()); dtpFrom.Value = frmHost.dtpServerDate.AddDays(-(frmHost.dtpServerDate.Day) + 1); dtpTo.Value = frmHost.dtpServerDate; }
/// <summary> /// Función para agregar un nuevo Meal Ticket /// </summary> /// <history> /// [vipacheco] 22/03/2016 Created /// </history> private void btnAdd_Click(object sender, RoutedEventArgs e) { frmMealTicketsDetail mealTicketsDetail = new frmMealTicketsDetail(_openBy) { Owner = this }; mealTicketsDetail._modeOpen = EnumMode.Add; mealTicketsDetail.Title += "Add"; if (mealTicketsDetail.ShowDialog().Value) { if (_modeOpen == EnumMode.Edit && _openBy == EnumOpenBy.Checkbox) { dsMealTicket.Source = BRMealTickets.GetMealTickets(_guestID); } else if (_modeOpen == EnumMode.Edit && _openBy == EnumOpenBy.Button) { obsMealTicket.Add(mealTicketsDetail._mealTicketCurrency); } } }
/// <summary> /// Función para la busqueda de un Meal Tickets de acuerdo a los datos ingresados! /// </summary> /// <history> /// [vipacheco] 18/03/2016 Created /// </history> private async void btnSearch_Click(object sender, RoutedEventArgs e) { int mlTicket = 0, rateType = 0; string folio = ""; DateTime?fromDate = null, toDate = null; // Verificamos que tipo de RateType tiene para ocultar las columas necesarias RateType itemRate = cboRateType.SelectedItem as RateType; _busyIndicator.IsBusy = true; // Obtenemos el ID de Meal Ticket if (txtMealTicket.Text != "") { mlTicket = Convert.ToInt32(txtMealTicket.Text); } // Obtenemos el folio ID si se ingreso if (txtFolio.Text != "") { folio = txtFolio.Text; } // Obtenemos el Rate Type seleccionado if (cboRateType.SelectedItem != null) { rateType = itemRate.raID; } // Obtenemos la fecha FROM ingresada if (dtpFrom.Value.Value.Date != null) { fromDate = dtpFrom.Value.Value.Date; } // Obtenemos la fecha TO ingresada if (dtpTo.Value.Value.Date != null) { toDate = dtpTo.Value.Value.Date; } // Realizamos la busqueda con los parametros ingresados! //lstMealTicket = await BRMealTickets.GetMealTickets(mlTicket, folio, rateType, fromDate, toDate); obsMealTicket = new ObservableCollection <MealTicket>(await BRMealTickets.GetMealTickets(mlTicket, folio, rateType, fromDate, toDate)); dsMealTicket.Source = obsMealTicket; #region ColumnsVisibility // Se verifica que el SelectedItem no sea null if (itemRate != null) { // Si es diferente de tipo External! if (itemRate.raID != 4) { controlColumnVisibility(Visibility.Visible, Visibility.Hidden, Visibility.Hidden); } // Es external else { controlColumnVisibility(Visibility.Hidden, Visibility.Visible, Visibility.Visible); } } #endregion _busyIndicator.IsBusy = false; }