Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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");
                    }
                    //-------------------------------------------//
                }
            }
        }
Ejemplo n.º 3
0
        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");
                    }
                    //---------------------------------------------------------------------//
                }
            }
        }
Ejemplo n.º 4
0
        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);
                    }
                }
            }
        }