private void tlGuardar_Click(object sender, RoutedEventArgs e) { if (dtgrdsumcamb2.ItemsSource != null && campos_confirmados_vacios()) { MessageBox.Show("Por cada pérdida confirmada, se requiere llenar su respectivo campo observación", "Error", MessageBoxButton.OK, MessageBoxImage.Error); return; } if ((dtgrdsumcamb2.ItemsSource != null && check_confirmar_sin_tildar()) || dtgrdsumcamb2.ItemsSource == null) { if (MessageBox.Show("Se detectaron pérdidas sin confirmar. Desea continuar de todos modos??", "Confirmación", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.No) { return; } } Clases.C_Perdida pr = new Clases.C_Perdida(); lpersumbd = pr.list_per_sum_cam(DateTime.Today, cam.idCamarera); foreach (Clases.habitacionIqware hs in lhp) { actualizar_perdidas_por_hab(hs, hs.lsumcamb); } eliminar_perdidas_viejas(); MessageBox.Show("Pérdida(s) procesada(s) satisfactoriamente", "Información", MessageBoxButton.OK, MessageBoxImage.Information); evt = true; DialogResult = true; Close(); }
public void eliminar_perdidas_viejas() { Clases.C_Perdida per; bool encontrado = false; foreach (Clases.C_Perdida sper in lpersumbd)//Pérdida de suministros en la base de datos { encontrado = false; foreach (Clases.habitacionIqware hs in lhp)//Pérdida de suministros en la lista (ejecución) { foreach (Clases.C_Suministro ns in hs.lsumcamb) { if (sper.idHabitacion == hs.ID_Room && sper.idSuministro == ns.idSuministro && ns.IsSelected) { encontrado = true; } } } if (!encontrado) { per = new Clases.C_Perdida(); per.idSuministro = sper.idSuministro; per.idHabitacion = sper.idHabitacion; per.cantidad = sper.cantidad; per.fecha = DateTime.Today; per.idUsuario = user.idUsuario; per.fechaModificacion = DateTime.Today; per.observacion = sper.observacion.ToUpper(); per.hora = hora; per.idCamarera = cam.idCamarera; if (per.EliminarPerdida(DateTime.Today) == 1) { Console.WriteLine("Se eliminó la pérdida"); } //--------- Bitácora ------------------------// txtdescbit = "ELIMINACIÓN DE PÉRDIDA ( NR. HAB='" + sper.nhab + "', SUMINISTRO='" + sper.nomsum + "', CANTIDAD='" + sper.cantidad + "', OBSERVACION='" + sper.observacion + "')"; Clases.Bitacora bit = new Clases.Bitacora(3, 3, txtdescbit, user.login); if (bit.Guardar() == 1) { Console.WriteLine("Eliminación guardada en la bitácora"); } //-------------------------------------------// } } }
public void actualizar_perdidas_por_hab(Clases.habitacionIqware hs, List <Clases.C_Suministro> lsum) { Clases.C_Perdida per; bool encontrado = false; foreach (Clases.C_Suministro ls in lsum) //Pérdida de suministros en la lista (ejecución) { encontrado = false; foreach (Clases.C_Perdida sper in lpersumbd) //Pérdida de suministros en la base de datos { if (sper.idHabitacion == hs.ID_Room && sper.idSuministro == ls.idSuministro && ls.IsSelected) { encontrado = true; per = new Clases.C_Perdida(); per.idSuministro = ls.idSuministro; per.idHabitacion = hs.ID_Room; per.cantidad = ls.cantidad; per.fecha = DateTime.Today; per.idUsuario = user.idUsuario; per.fechaModificacion = DateTime.Today; per.observacion = ls.observacion.ToUpper(); per.hora = hora; per.idCamarera = cam.idCamarera; per.nhab = hs.RoomNo; if (per.Editar() == 1) { Console.WriteLine("Se modificó la pérdida"); } //----------------------------- Bitácora -------------------------------// if (sper.cantidad != ls.cantidad || sper.observacion != ls.observacion) { if (sper.cantidad != ls.cantidad) { txtdescbit = "MODIFICACIÓN DE PÉRDIDA (NR. HAB='" + hs.RoomNo + "', SUMINISTRO='" + ls.descripcion + "', CANTIDAD ANTERIOR='" + sper.cantidad + "', CANTIDAD NUEVA='" + ls.cantidad + "',"; } else { txtdescbit = "MODIFICACIÓN DE PÉRDIDA (NR. HAB='" + hs.RoomNo + "', SUMINISTRO='" + ls.descripcion + "', CANTIDAD='" + ls.cantidad + "',"; } if (sper.observacion != ls.observacion) { txtdescbit += " OBSERVACIÓN ANTERIOR='" + sper.observacion + "', OBSERVACIÓN NUEVA='" + ls.observacion + "')"; } else { txtdescbit += " OBSERVACIÓN='" + ls.observacion + "')"; } Clases.Bitacora bit = new Clases.Bitacora(3, 2, txtdescbit, user.login); if (bit.Guardar() == 1) { Console.WriteLine("Modificación guardada en la bitácora"); } //----------------------------------------------------------------------// } } } if (!encontrado && ls.IsSelected) { per = new Clases.C_Perdida(); per.idSuministro = ls.idSuministro; per.idHabitacion = hs.ID_Room; per.cantidad = ls.cantidad; per.fecha = DateTime.Today; per.idUsuario = user.idUsuario; per.fechaModificacion = DateTime.Today; per.observacion = ls.observacion.ToUpper(); per.hora = hora; per.idCamarera = cam.idCamarera; per.nhab = hs.RoomNo; if (per.Guardar() == 1) { Console.WriteLine("Se guardó la pérdida"); } //----------------------------- Bitácora -------------------------------// txtdescbit = "INSERCIÓN DE PÉRDIDA ( NR. HAB='" + hs.RoomNo + "', SUMINISTRO='" + ls.descripcion + "', CANTIDAD='" + per.cantidad + "', OBSERVACION='" + per.observacion + "')"; Clases.Bitacora bit = new Clases.Bitacora(3, 1, txtdescbit, user.login); if (bit.Guardar() == 1) { Console.WriteLine("Inserción guardada en la bitácora"); } //---------------------------------------------------------------------// } } }
private void MenuItem_Click(object sender, RoutedEventArgs e) { if (dtgrdsumcamb.SelectedIndex != -1) { Clases.habitacionIqware hb = dtgrdhabsel.SelectedItem as Clases.habitacionIqware; Clases.C_Camarera ca = dtgrdcam.SelectedItem as Clases.C_Camarera; Clases.C_Suministro sm = dtgrdsumcamb.SelectedItem as Clases.C_Suministro; if (user.nivel != 0 && user.nivel != 1) { MessageBox.Show("No poseen lo permisos para hacer esta acción", "Denegado", MessageBoxButton.OK, MessageBoxImage.Error); return; } if (MessageBox.Show("Desea eliminar la pérdida de " + sm.descripcion + " de la lista?", "Confirmación", MessageBoxButton.YesNo) == MessageBoxResult.Yes) { string texto = Microsoft.VisualBasic.Interaction.InputBox("Ingrese la observación", "Observación", "");//Modal pequeño para recopilar la observación if (texto == "") { MessageBox.Show("Eliminación cancelada: Presionó botón 'Cancelar' o campo observación vacío", "Información", MessageBoxButton.OK, MessageBoxImage.Information); return; } Clases.C_Perdida per = new Clases.C_Perdida(); per.idHabitacion = hb.ID_Room; per.idCamarera = ca.idCamarera; per.idSuministro = sm.idSuministro; per.hora = ca.horamov; Clases.C_Movimiento mov = new Clases.C_Movimiento(); mov.idSuministro = sm.idSuministro; mov.idHabitacion = hb.ID_Room; mov.fecha = dtpFecha.SelectedDate; mov.idCamarera = ca.idCamarera; mov.observacion = texto; if (mov.EditarMovPerdida() == 1) { Console.WriteLine("Modificada la observación en el movimiento"); //--------- Bitácora ------------------------// txtdescbit = "ELIMINACIÓN DE PÉRDIDA ( FECHA='" + Convert.ToString(dtpFecha.SelectedDate).Replace(" 12:00:00 a.m.", "") + "' NR. HAB='" + hb.RoomNo + "', SUMINISTRO='" + sm.descripcion + "', CANTIDAD='" + sm.cantidad + "', OBSERVACION='" + texto.ToUpper() + "')"; Clases.Bitacora bit = new Clases.Bitacora(6, 3, txtdescbit, user.login); if (bit.Guardar() == 1) { Console.WriteLine("Eliminación guardada en la bitácora"); } //-------------------------------------------// } if (per.EliminarPerdida(Convert.ToDateTime(dtpFecha.SelectedDate)) == 1) //Si la eliminación fue satisfactoria... { actualizar_dtgr_sum(); //Se actualiza el datagrid de suministros (excluyendo el suministro que se caba de eliminar) if (dtgrdsumcamb.ItemsSource == null && dtgrdhabsel.Items.Count > 1) //Si se eliminaron todos los suministros de una habitación, y queda más de una habitación { actualizar_dtgr_habsel(); //Se actualiza el datagrid de habitaciones } else if (dtgrdsumcamb.ItemsSource == null && dtgrdhabsel.Items.Count == 1) //Si se eliminaron todos los suministros de una habitación, la cual es la que queda en el datagrid { dtgrdhabsel.ItemsSource = null; //Se vacía el datagrid de habitaciones actualizar_dtgr_cam(); //y se actualiza el datagrid de camareras (excluyendo la fila de la camarera seleccionada, ya que no tiene pérdidas) } MessageBox.Show("Pérdida eliminada satisfactoriamente", "Información", MessageBoxButton.OK, MessageBoxImage.Information); Clases.C_Camarera cm = new Clases.C_Camarera(); DateTime fch = dtpFecha.SelectedDate == null ? DateTime.Today : Convert.ToDateTime(dtpFecha.SelectedDate); lcam = new List <Clases.C_Camarera>(); lcam = cm.PerCamPorFecha(fch); } } } }