private void _vista_UsuarioDeseaGuardarClase(object sender, ClaseArgumento e)
        {
            try
            {
                Operacion operacion;
                var       clase = new Clase();

                if (e.Clase.CLASS_ID == 0)
                {
                    operacion      = ClaseServicio.CrearClase(e.Clase);
                    clase.CLASS_ID = Convert.ToInt32(operacion.DbData);
                }
                else
                {
                    operacion      = ClaseServicio.ActualizarClase(e.Clase);
                    clase.CLASS_ID = e.Clase.CLASS_ID;
                }

                if (operacion.Resultado == ResultadoOperacionTipo.Exito)
                {
                    _vista.Clases            = ClaseServicio.ObtenerClases();
                    _vista.Clase             = ClaseServicio.ObtenerClasePorId(clase);
                    _vista.ClasesAsociadas   = ClaseServicio.ObtenerClasesAsociadas(clase);
                    _vista.ClasesNoAsociadas = ClaseServicio.ObtenerClasesNoAsociadas(clase);
                }
                else
                {
                    InteraccionConUsuarioServicio.MensajeErrorDialogo($"Error al guardar la clase: {operacion.Mensaje}");
                }
            }
            catch (Exception ex)
            {
                InteraccionConUsuarioServicio.MensajeErrorDialogo($"Error al guardar clase: {ex.Message}");
            }
        }
        public void AsociacionClase()
        {
            var clase     = CrearClase();
            var clases    = ClaseServicio.ObtenerClasesNoAsociadas(clase);
            var argumento = new ClaseArgumento
            {
                Clase = clase
                ,
                Clases = clases.ToList(),
            };

            var asociar = ClaseServicio.AsociarClases(argumento);

            if (asociar.Resultado != ResultadoOperacionTipo.Exito)
            {
                throw new Exception(asociar.Mensaje);
            }

            var clasesAsociadas = ClaseServicio.ObtenerClasesAsociadas(clase);

            Assert.IsTrue(clasesAsociadas.Count > 0);

            var desasociar = ClaseServicio.DesasociarClases(argumento);

            if (desasociar.Resultado != ResultadoOperacionTipo.Exito)
            {
                throw new Exception(desasociar.Mensaje);
            }
            EliminarClase(clase);
        }
        public Operacion CargarClasesPorXml(ClaseArgumento claseArgumento)
        {
            var serializer   = new XmlSerializer(typeof(List <Clase>));
            var stringWriter = new StringWriter();
            var xmlWriter    = new XmlTextWriter(stringWriter)
            {
                Formatting = Formatting.Indented
            };

            serializer.Serialize(xmlWriter, claseArgumento.Clases);

            DbParameter[] parameters =
            {
                new OAParameter
                {
                    ParameterName = "@XML",
                    Value         = stringWriter.ToString()
                }, new OAParameter
                {
                    ParameterName = "@LOGIN",
                    Value         = claseArgumento.Login
                }
            };
            var operacion = BaseDeDatosServicio.ExecuteQuery <Operacion>($"{BaseDeDatosServicio.Esquema}.OP_WMS_SP_LOAD_CLASSES_BY_XML", CommandType.StoredProcedure, false, parameters)[0];

            if (operacion.Resultado != ResultadoOperacionTipo.Error)
            {
                BaseDeDatosServicio.Commit();
            }
            else
            {
                BaseDeDatosServicio.Rollback();
            }
            return(operacion);
        }
        public Operacion DesasociarClases(ClaseArgumento claseArgumento)
        {
            var operacion = new Operacion();

            foreach (var clase in claseArgumento.Clases)
            {
                DbParameter[] parameters =
                {
                    new OAParameter
                    {
                        ParameterName = "@CLASS_ID",
                        Value         = claseArgumento.Clase.CLASS_ID
                    }, new OAParameter
                    {
                        ParameterName = "@CLASS_ASSOCIATED_ID",
                        Value         = clase.CLASS_ID
                    }
                };
                operacion = BaseDeDatosServicio.ExecuteQuery <Operacion>($"{BaseDeDatosServicio.Esquema}.OP_WMS_SP_DEASSOCIATE_CLASS", CommandType.StoredProcedure, false, parameters)[0];
                if (operacion.Resultado == ResultadoOperacionTipo.Error)
                {
                    BaseDeDatosServicio.Rollback();
                    return(operacion);
                }
            }
            BaseDeDatosServicio.Commit();
            return(operacion);
        }
 private void _vista_UsuarioDeseaObtenerClases(object sender, ClaseArgumento e)
 {
     try
     {
         _vista.Clases = ClaseServicio.ObtenerClases();
     }
     catch (Exception ex)
     {
         InteraccionConUsuarioServicio.MensajeErrorDialogo($"Error al clases: {ex.Message}");
     }
 }
 private void _vista_UsuarioDeseaObtenerClase(object sender, ClaseArgumento e)
 {
     try
     {
         _vista.Clase             = ClaseServicio.ObtenerClasePorId(e.Clase);
         _vista.ClasesAsociadas   = ClaseServicio.ObtenerClasesAsociadas(e.Clase);
         _vista.ClasesNoAsociadas = ClaseServicio.ObtenerClasesNoAsociadas(e.Clase);
     }
     catch (Exception ex)
     {
         InteraccionConUsuarioServicio.MensajeErrorDialogo($"Error al obtener la clase seleccionada: {ex.Message}");
     }
 }
 private void _vista_UsuarioDeseaObtenerTiposDeClases(object sender, ClaseArgumento e)
 {
     try
     {
         _vista.Tipos =
             ConfiguracionServicio.ObtenerConfiguracionesGrupoYTipo(new Entidades.Configuracion
         {
             PARAM_TYPE  = Enums.GetStringValue(TipoDeClasificaciones.Sistema),
             PARAM_GROUP = Enums.GetStringValue(GrupoDeClasificaciones.TipoDeClase)
         });
     }
     catch (Exception ex)
     {
         InteraccionConUsuarioServicio.MensajeErrorDialogo($"Error al obtener los tipos de clases : {ex.Message}");
     }
 }
 private void _vista_UsuarioDeseaCargarClasesPorXml(object sender, ClaseArgumento e)
 {
     try
     {
         var operacion = ClaseServicio.CargarClasesPorXml(e);
         if (operacion.Resultado == ResultadoOperacionTipo.Exito)
         {
             _vista.TerminoProceso("Se cargó correctamente la plantilla", sender);
             _vista.Clases = ClaseServicio.ObtenerClases();
         }
         else
         {
             InteraccionConUsuarioServicio.MensajeErrorDialogo($"Error al cargar la plantilla: {operacion.Mensaje}");
         }
     }
     catch (Exception ex)
     {
         InteraccionConUsuarioServicio.MensajeErrorDialogo($"Error al cargar clases por plantilla: {ex.Message}");
     }
 }
 private void _vista_UsuarioDeseaEliminarClase(object sender, ClaseArgumento e)
 {
     try
     {
         var operacion = ClaseServicio.EliminarClase(e.Clase);
         if (operacion.Resultado == ResultadoOperacionTipo.Exito)
         {
             _vista.TerminoProceso("Se elimino correctamente la clase", sender);
             _vista.Clases = ClaseServicio.ObtenerClases();
         }
         else
         {
             InteraccionConUsuarioServicio.MensajeErrorDialogo($"Error al eliminar la clase: {operacion.Mensaje}");
         }
     }
     catch (Exception ex)
     {
         InteraccionConUsuarioServicio.MensajeErrorDialogo($"Error al eliminar clase: {ex.Message}");
     }
 }
 private void _vista_UsuarioDeseaAsociarClases(object sender, ClaseArgumento e)
 {
     try
     {
         var operacion = ClaseServicio.AsociarClases(e);
         if (operacion.Resultado == ResultadoOperacionTipo.Exito)
         {
             _vista.ClasesAsociadas   = ClaseServicio.ObtenerClasesAsociadas(e.Clase);
             _vista.ClasesNoAsociadas = ClaseServicio.ObtenerClasesNoAsociadas(e.Clase);
         }
         else
         {
             InteraccionConUsuarioServicio.MensajeErrorDialogo($"Error al asociar las clases: {operacion.Mensaje}");
         }
     }
     catch (Exception ex)
     {
         InteraccionConUsuarioServicio.MensajeErrorDialogo($"Error al asociar clases: {ex.Message}");
     }
 }
 private void _vista_UsuarioDeseaObtenerClasesDisponiblesAAsociar(object sender, ClaseArgumento e)
 {
     try
     {
         _vista.ClasesNoAsociadas = ClaseServicio.ObtenerClasesNoAsociadas(e.Clase);
     }
     catch (Exception ex)
     {
         InteraccionConUsuarioServicio.MensajeErrorDialogo($"Error al obtener las clases disponibles para asociar: {ex.Message}");
     }
 }