private void tlGuardar_Click(object sender, RoutedEventArgs e) { if (dtgrdcam.SelectedIndex < 0) { MessageBox.Show("Debe elegir una camarera", "Error", MessageBoxButton.OK, MessageBoxImage.Error); return; } bool hb_ds = false; hb_ds = hab_distintas();//Método para corroborar si hay cambios en habitaciones seleccionadas Clases.C_Asignacion asg = new Clases.C_Asignacion(); string txtdescbit = ""; if (dtgrdhabsel.Items.Count == 0)//Para eliminar todas las habitaciones asignadas a una camarera { asg.EliminarAsignPorCamarera(cm_act.idCamarera); if (sp_act != null) { txtdescbit = "ELIMINACIÓN (NOMBRE CAM.='" + cm_act.nombre + " " + cm_act.apellido + "', CÉD CAM.='" + cm_act.cedula + "'; NOMBRE SUP.='" + sp_act.nombre + " " + sp_act.apellido + "', CÉD SUP.='" + sp_act.cedula + "'; "; } else { txtdescbit = "ELIMINACIÓN (NOMBRE CAM.='" + cm_act.nombre + " " + cm_act.apellido + "', CÉD CAM.='" + cm_act.cedula + "'; NOMBRE SUP.='-SIN ASIGNAR-'; "; } txtdescbit += "HABS.="; foreach (Clases.habitacionIqware h2 in hb_act) { txtdescbit += "'" + h2.RoomNo + "',"; } txtdescbit = txtdescbit.Remove(txtdescbit.Length - 1); txtdescbit += ")"; Clases.Bitacora bitc = new Clases.Bitacora(1, 3, txtdescbit, user.login); if (bitc.Guardar() == 1) { Console.WriteLine("Eliminación de asignación guardada en la bitácora"); } //----------------------------------------------------// MessageBox.Show("Asignación modificada satisfactoriamente", "Completado", MessageBoxButton.OK, MessageBoxImage.Information); DialogResult = true; Close(); return; } Clases.C_Camarera cam = dtgrdcam.SelectedItem as Clases.C_Camarera; Clases.C_Supervisor sup = dtgrdsup.SelectedItem as Clases.C_Supervisor; //------------- Bitácora ------------------------------------------// txtdescbit = "MODIFICACIÓN ("; asg.idcamarera = cam.idCamarera; asg.idUsuario = user.idUsuario; if (dtgrdsup.SelectedIndex < 0) { asg.idsupervisor = -1; } else { asg.idsupervisor = sup.idSupervisor; } if (habaux.Count > 0) { if (cm_act.idSupervisor != -1 && dtgrdsup.Items.Count != 0) //Si hay supervisores asignados en la base de datos (Viejo y Nuevo) { if (sp_act.idSupervisor != sup.idSupervisor) //Supervisores distinitos (anterior y nuevo) { txtdescbit += "NOMBRE SUP. ANT.='" + sp_act.nombre + " " + sp_act.apellido + "', CÉD SUP. ANT.='" + sp_act.cedula + "', NOMBRE SUP. NVO.='" + sup.nombre + " " + sup.apellido + "', CÉD SUP. NVO.='" + sup.cedula + "'; "; } else { txtdescbit += "NOMBRE SUP.='" + sup.nombre + " " + sup.apellido + "', CÉD SUP.='" + sup.cedula + "'; "; } } else if (cm_act.idSupervisor == -1 && dtgrdsup.SelectedIndex >= 0) {//Si no hay en viejo y hay en nuevo txtdescbit += "NOMBRE SUP. ANT.='SIN ASIGNAR', NOMBRE SUP. NVO.='" + sup.nombre + " " + sup.apellido + "', CÉD SUP. NVO.='" + sup.cedula + "'; "; } else if (cm_act.idSupervisor != -1 && dtgrdsup.Items.Count == 0)//Si hay viejo y no hay en nuevo { txtdescbit += "NOMBRE SUP. ANT.='" + sp_act.nombre + " " + sp_act.apellido + "', CÉD SUP. ANT.='" + sp_act.cedula + "', NOMBRE SUP. NVO.='SIN ASIGNAR'; "; } Clases.C_Movimiento mov = new Clases.C_Movimiento(); mov.idsupervisor = dtgrdsup.SelectedIndex != -1?sup.idSupervisor:-1; mov.idCamarera = cam.idCamarera; mov.fecha = DateTime.Today; if (mov.EditarMovSup() == 1) { Console.WriteLine("Se modificó el supervisor"); } } else { asg.EliminarAsignPorCamarera(cm_act.idCamarera); if (cm_act.idCamarera != cam.idCamarera)//Camareras distintas (anterior y nueva) { txtdescbit += "NOMBRE CAM. ANT.='" + cm_act.nombre + " " + cm_act.apellido + "', CÉD CAM. ANT.='" + cm_act.cedula + "', NOMBRE CAM. NVA.='" + cam.nombre + " " + cam.apellido + "', CÉD CAM. NVA.='" + cam.cedula + "'; "; } else { txtdescbit += "NOMBRE CAM.='" + cam.nombre + " " + cam.apellido + "', CÉD CAM.='" + cam.cedula + "'; "; } if (cm_act.idSupervisor != -1 && dtgrdsup.Items.Count != 0) //Si hay supervisores asignados en la base de datos (Viejo y Nuevo) { if (sp_act.idSupervisor != sup.idSupervisor) //Supervisores distinitos (anterior y nuevo) { txtdescbit += "NOMBRE SUP. ANT.='" + sp_act.nombre + " " + sp_act.apellido + "', CÉD SUP. ANT.='" + sp_act.cedula + "', NOMBRE SUP. NVO.='" + sup.nombre + " " + sup.apellido + "', CÉD SUP. NVO.='" + sup.cedula + "'; "; } else { txtdescbit += "NOMBRE SUP.='" + sup.nombre + " " + sup.apellido + "', CÉD SUP.='" + sup.cedula + "'; "; } } else if (cm_act.idSupervisor == -1 && dtgrdsup.SelectedIndex >= 0) {//Si no hay en viejo y hay en nuevo txtdescbit += "NOMBRE SUP. ANT.='SIN ASIGNAR', NOMBRE SUP. NVO.='" + sup.nombre + " " + sup.apellido + "', CÉD SUP. NVO.='" + sup.cedula + "'; "; } else if (cm_act.idSupervisor != -1 && dtgrdsup.Items.Count == 0)//Si hay viejo y no hay en nuevo { txtdescbit += "NOMBRE SUP. ANT.='" + sp_act.nombre + " " + sp_act.apellido + "', CÉD SUP. ANT.='" + sp_act.cedula + "', NOMBRE SUP. NVO.='SIN ASIGNAR'; "; } if (hb_ds) { txtdescbit += "HABS. ANT.="; foreach (Clases.habitacionIqware h2 in hb_act) { txtdescbit += "'" + h2.RoomNo + "',"; } txtdescbit = txtdescbit.Remove(txtdescbit.Length - 1); txtdescbit += "; "; } //----------------------------------------------------------------------------------// txtdescbit += "HABS. NVAS.=";//Bitácora foreach (Clases.habitacionIqware h in dtgrdhabsel.ItemsSource) { txtdescbit += "'" + h.RoomNo + "',";//Bitácora asg.idhabitacion = h.ID_Room; asg.num_hab = h.RoomNo; asg.status_hab = h.status; asg.num_pax = h.GuestTotal; asg.modulo_hab = h.modulo; asg.tipo_hab = h.RoomTypeShortName; asg.idUsuario = user.idUsuario; asg.llegada = h.llegada; asg.salida = h.salida; asg.piso = h.ID_Floor; asg.Section = h.Section; asg.Guardar(); } } asg.Modificar(); //---------Bitácora -------------------------------------------// txtdescbit = txtdescbit.Remove(txtdescbit.Length - 1); txtdescbit += ")"; if (cm_act.idCamarera != cam.idCamarera || cm_act.idSupervisor != asg.idsupervisor || hb_ds) { Clases.Bitacora bit = new Clases.Bitacora(1, 2, txtdescbit, user.login); if (bit.Guardar() == 1) { Console.WriteLine("Modificación de asignación guardada en la bitácora"); } } //----------------------------------------------------// MessageBox.Show("Asignación modificada satisfactoriamente", "Completado", MessageBoxButton.OK, MessageBoxImage.Information); DialogResult = true; Close(); }
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); } } } }