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);
            }
        }
        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 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_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);
            }
        }