public Operacion AgregarSubClasesParaZonaDePosicionamiento(PosicionamientoArgumento arg)
 {
     DbParameter[] parameters =
     {
         new OAParameter
         {
             ParameterName = "@WAREHOUSE_CODE",
             Value         = arg.ZonaDePosicionamiento.WAREHOUSE_CODE
         },
         new OAParameter
         {
             ParameterName = "@ZONE_ID",
             Value         = arg.ZonaDePosicionamiento.ZONE_ID
         },
         new OAParameter
         {
             ParameterName = "@ZONE",
             Value         = arg.ZonaDePosicionamiento.ZONE
         },
         new OAParameter
         {
             ParameterName = "@MANDATORY",
             Value         = arg.ZonaDePosicionamiento.MANDATORY
         },
         new OAParameter
         {
             ParameterName = "@XML",
             Value         = arg.XmlClases
         }
     };
     return(BaseDeDatosServicio.ExecuteQuery <Operacion>($"{BaseDeDatosServicio.Esquema}.[OP_WMS_SP_INSERT_SLOTTING_ZONE_BY_SUB_CLASS]", CommandType.StoredProcedure, parameters)[0]);
 }
 private Operacion InsertarZonaDePosicionamiento(PosicionamientoArgumento arg)
 {
     DbParameter[] parameters =
     {
         new OAParameter
         {
             ParameterName = "@WAREHOUSE_CODE",
             Value         = arg.ZonaDePosicionamiento.WAREHOUSE_CODE
         },
         new OAParameter
         {
             ParameterName = "@ZONE_ID",
             Value         = arg.ZonaDePosicionamiento.ZONE_ID
         },
         new OAParameter
         {
             ParameterName = "@ZONE ",
             Value         = arg.ZonaDePosicionamiento.ZONE
         },
         new OAParameter
         {
             ParameterName = "@MANDATORY",
             Value         = arg.ZonaDePosicionamiento.MANDATORY
         }
     };
     return(BaseDeDatosServicio.ExecuteQuery <Operacion>($"{BaseDeDatosServicio.Esquema}.[OP_WMS_SP_INSERT_SLOTTING_ZONE]", CommandType.StoredProcedure, parameters)[0]);
 }
        private void _vista_UsuarioDeseaObtenerZonasDePosicionamiento(object sender, PosicionamientoArgumento e)
        {
            try
            {
                var arg = new PosicionamientoArgumento
                {
                    Login = InteraccionConUsuarioServicio.ObtenerUsuario()
                    ,
                    XmlBodegas = Xml.ConvertListToXml(_vista.Bodegas.Where(b => b.IS_SELECTED).ToList())
                };

                var parametroUseSubFamily = _vista.Parametros.FirstOrDefault(p => p.PARAMETER_ID == Enums.GetStringValue(IdParametro.UseMaterialSubFamily) && p.GROUP_ID == Enums.GetStringValue(GrupoParametro.MaterialSubFamily));

                if (parametroUseSubFamily == null || int.Parse(parametroUseSubFamily.VALUE) == (int)SiNo.No)
                {
                    _vista.ZonasDePosicionamientos = PosicionamientoServicio.ObtenerZonaDePosicionamientos(arg);
                }
                else
                {
                    _vista.ZonasDePosicionamientos = PosicionamientoServicio.ObtenerZonaDePosicionamientosSubClase(arg);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
 public IList <Operacion> ProcessarXmlObtenidoExcel(PosicionamientoArgumento arg)
 {
     DbParameter[] parameters =
     {
         new OAParameter
         {
             ParameterName = "@XML",
             Value         = arg.XmlZonaPosicionamiento
         }
     };
     return(BaseDeDatosServicio.ExecuteQuery <Operacion>($"{BaseDeDatosServicio.Esquema}.[OP_WMS_SP_INSERT_SLOTTING_ZONE_BY_XML]", CommandType.StoredProcedure, parameters));
 }
 public IList <Clase> ObtenerSubClasesDisponbilesParaZonasDePosicionamiento(PosicionamientoArgumento arg)
 {
     DbParameter[] parametros =
     {
         new OAParameter
         {
             ParameterName = "@ID_SLOTTING",
             Value         = arg.ZonaDePosicionamiento.ID
         }
     };
     return(BaseDeDatosServicio.ExecuteQuery <Clase>($"{BaseDeDatosServicio.Esquema}.[OP_WMS_SP_GET_SUB_CLASS_NOT_ASSOCIATED_SLOTTING_ZONE]", CommandType.StoredProcedure, parametros).ToList());
 }
        private void _vista_UsuarioDeseaAgregarClases(object sender, PosicionamientoArgumento e)
        {
            try
            {
                if ((_vista.ZonasDePosicionamientoSeleccionado.ZONE_ID > 0) && !_vista.ClasesDisponibles.ToList().Exists(z => z.IS_SELECTED))
                {
                    return;
                }
                var arg = new PosicionamientoArgumento
                {
                    ZonaDePosicionamiento = _vista.ZonasDePosicionamientoSeleccionado,
                    Login = InteraccionConUsuarioServicio.ObtenerUsuario()
                    ,
                    XmlClases = Xml.ConvertListToXml(_vista.ClasesDisponibles.Where(b => b.IS_SELECTED).ToList())
                };

                Operacion operacion;

                var parametroUseSubFamily = _vista.Parametros.FirstOrDefault(p => p.PARAMETER_ID == Enums.GetStringValue(IdParametro.UseMaterialSubFamily) && p.GROUP_ID == Enums.GetStringValue(GrupoParametro.MaterialSubFamily));
                if (parametroUseSubFamily == null || int.Parse(parametroUseSubFamily.VALUE) == (int)SiNo.No)
                {
                    operacion = PosicionamientoServicio.AgregarClasesParaZonaDePosicionamiento(arg);
                }
                else
                {
                    operacion = PosicionamientoServicio.AgregarSubClasesParaZonaDePosicionamiento(arg);
                }

                if (operacion.Resultado == ResultadoOperacionTipo.Exito)
                {
                    if (!string.IsNullOrEmpty(operacion.DbData))
                    {
                        _vista.ZonasDePosicionamientoSeleccionado.ID = Guid.Parse(operacion.DbData);
                    }
                    _vista_UsuarioDeseaObtenerClasesAsociadas(null, null);
                    _vista_UsuarioDeseaObtenerClasesDisponibles(null, null);
                }
                else
                {
                    throw new Exception(operacion.Mensaje);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
 private Operacion ActualizarZonaDePosicionamiento(PosicionamientoArgumento arg)
 {
     DbParameter[] parameters =
     {
         new OAParameter
         {
             ParameterName = "@ID_SLOTTING_ZONE",
             Value         = arg.ZonaDePosicionamiento.ID
         },
         new OAParameter
         {
             ParameterName = "@MANDATORY",
             Value         = arg.ZonaDePosicionamiento.MANDATORY
         }
     };
     return(BaseDeDatosServicio.ExecuteQuery <Operacion>($"{BaseDeDatosServicio.Esquema}.[OP_WMS_SP_UPDATE_SLOTTING_ZONE]", CommandType.StoredProcedure, parameters)[0]);
 }
 public IList <ZonaDePosicionamiento> ObtenerZonaDePosicionamientosSubClase(PosicionamientoArgumento arg)
 {
     DbParameter[] parametros =
     {
         new OAParameter
         {
             ParameterName = "@LOGIN",
             Value         = arg.Login
         },
         new OAParameter
         {
             ParameterName = "@WAREHOUSE_XML",
             Value         = arg.XmlBodegas
         }
     };
     return(BaseDeDatosServicio.ExecuteQuery <ZonaDePosicionamiento>($"{BaseDeDatosServicio.Esquema}.[OP_WMS_GET_SLOTTING_SUB_CLASS]", CommandType.StoredProcedure, parametros).ToList());
 }
 public Operacion QuitarSubClasesParaZonaDePosicionamiento(PosicionamientoArgumento arg)
 {
     DbParameter[] parameters =
     {
         new OAParameter
         {
             ParameterName = "@ID_SLOTTING_ZONE",
             Value         = arg.ZonaDePosicionamiento.ID
         },
         new OAParameter
         {
             ParameterName = "@XML",
             Value         = arg.XmlClases
         }
     };
     return(BaseDeDatosServicio.ExecuteQuery <Operacion>($"{BaseDeDatosServicio.Esquema}.[OP_WMS_SP_DELETE_SLOTTING_ZONE_BY_SUB_CLASS]", CommandType.StoredProcedure, parameters)[0]);
 }
 private void _vista_UsuarioDeseaGrabarZonasDePosicionamiento(object sender, PosicionamientoArgumento e)
 {
     try
     {
         var operacion = PosicionamientoServicio.GrabarZonaDePosicionamiento(e);
         if (operacion.Resultado == ResultadoOperacionTipo.Exito)
         {
             _vista_UsuarioDeseaObtenerZonasDePosicionamiento(null, null);
         }
         else
         {
             InteraccionConUsuarioServicio.Mensaje(operacion.Mensaje);
         }
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
        private void _vista_UsuarioDeseaObtenerClasesDisponibles(object sender, PosicionamientoArgumento e)
        {
            try
            {
                var arg = new PosicionamientoArgumento
                {
                    ZonaDePosicionamiento = _vista.ZonasDePosicionamientoSeleccionado
                };

                var listaTemporal = _vista.ClasesDisponibles.Where(z => z.IS_SELECTED).ToList();

                IList <Clase> listaResultado;

                var parametroUseSubFamily = _vista.Parametros.FirstOrDefault(p => p.PARAMETER_ID == Enums.GetStringValue(IdParametro.UseMaterialSubFamily) && p.GROUP_ID == Enums.GetStringValue(GrupoParametro.MaterialSubFamily));
                if (parametroUseSubFamily == null || int.Parse(parametroUseSubFamily.VALUE) == (int)SiNo.No)
                {
                    listaResultado = ClaseServicio.ObtenerClasesDisponbilesParaZonasDePosicionamiento(arg);
                }
                else
                {
                    listaResultado = ClaseServicio.ObtenerSubClasesDisponbilesParaZonasDePosicionamiento(arg);
                }

                if (listaTemporal.Count > 0)
                {
                    foreach (var registro in listaResultado)
                    {
                        registro.IS_SELECTED = listaTemporal.Exists(lt => lt.IS_SELECTED && lt.CLASS_ID == registro.CLASS_ID);
                    }
                }

                _vista.ClasesDisponibles = listaResultado;
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
        private void _vista_UsuarioDeseaCargarPlantilla(object sender, PosicionamientoArgumento e)
        {
            try
            {
                var operaciones = PosicionamientoServicio.ProcessarXmlObtenidoExcel(e); if (operaciones.Count > 0)
                {
                    var listaDeErrores = operaciones.Select(registro => registro.Mensaje).ToList();

                    InteraccionConUsuarioServicio.MensajeListaDeErrorDialogo(listaDeErrores);
                }
                else
                {
                    _vista_UsuarioDeseaObtenerBodegas(null, null);
                    _vista_UsuarioDeseaObtenerZonasDePosicionamiento(null, null);
                    _vista_UsuarioDeseaObtenerClasesAsociadas(null, null);
                    _vista_UsuarioDeseaObtenerClasesDisponibles(null, null);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
        private void _vista_UsuarioDeseaObtenerBodegas(object sender, PosicionamientoArgumento e)
        {
            try
            {
                var listaTemporal = _vista.Bodegas.Where(z => z.IS_SELECTED).ToList();

                var listaResultado = BodegaServicio.ObtenerBodegaAsignadaAUsuario(InteraccionConUsuarioServicio.ObtenerUsuario());

                if (listaTemporal.Count > 0)
                {
                    foreach (var registro in listaResultado)
                    {
                        registro.IS_SELECTED = listaTemporal.Exists(lt => lt.IS_SELECTED && lt.WAREHOUSE_ID == registro.WAREHOUSE_ID);
                    }
                }

                _vista.Bodegas = listaResultado;
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
 public Operacion GrabarZonaDePosicionamiento(PosicionamientoArgumento arg)
 {
     return(arg.ZonaDePosicionamiento.ID == Guid.Empty
         ? InsertarZonaDePosicionamiento(arg)
         : ActualizarZonaDePosicionamiento(arg));
 }