コード例 #1
0
        public static IList <AlmacenInventarioInfo> ObtenerProductosPorAlmacen(int idAlmacen)
        {
            IList <AlmacenInventarioInfo> listaAlmacenInventario = null;

            try
            {
                SeguridadInfo seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo;

                if (seguridad != null)
                {
                    var almacenInventarioPl = new AlmacenInventarioPL();
                    var almacenPl           = new AlmacenPL();

                    AlmacenInfo almacen = almacenPl.ObtenerPorID(idAlmacen);

                    OrganizacionInfo organizacion = seguridad.Usuario.Organizacion;

                    listaAlmacenInventario = almacenInventarioPl.ObtienePorAlmacenIdLlenaProductoInfo(almacen);

                    if (listaAlmacenInventario != null && listaAlmacenInventario.Count > 0)
                    {
                        listaAlmacenInventario = (from productos in listaAlmacenInventario
                                                  where productos.Producto != null
                                                  orderby productos.Producto.Descripcion
                                                  select productos).ToList();

                        if (almacen.TipoAlmacen.TipoAlmacenID == (int)TipoAlmacenEnum.PlantaDeAlimentos)
                        {
                            listaAlmacenInventario = (from productos in listaAlmacenInventario
                                                      where productos.Producto.SubFamilia.SubFamiliaID != (int)SubFamiliasEnum.AlimentoFormulado
                                                      orderby productos.Producto.Descripcion
                                                      select productos).ToList();
                        }
                    }
                }
                else
                {
                    throw new ExcepcionServicio("SesionExpirada");
                }
            }
            catch (ExcepcionServicio ex)
            {
                Logger.Error(ex);
                throw new ExcepcionServicio(ex.Message);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new Exception(ex.Message);
            }

            return(listaAlmacenInventario);
        }
コード例 #2
0
        /// <summary>
        /// Asigna los eventos a los controles de ayuda
        /// </summary>
        private void AsignarEventosAyudas()
        {
            skAyudaLoteMPOrigen.AyudaConDatos += (sender, args) =>
            {
                Contexto.AlmacenInventarioOrigen.Almacen =
                    Contexto.AlmacenOrigen;
                Contexto.LoteMpOrigen.AlmacenInventario.Almacen =
                    Contexto.AlmacenOrigen;
            };

            skAyudaLoteMPDestino.AyudaConDatos += (sender, args) =>
            {
                Contexto.AlmacenInventarioDestino.Almacen =
                    Contexto.AlmacenDestino;
                Contexto.LoteMpDestino.AlmacenInventario.Almacen = Contexto.AlmacenDestino;
            };

            #region AyudasOrigen

            skAyudaTipoAlmacenOrigen.AyudaConDatos += (o, args) =>
            {
                iudFolio.IsEnabled = false;
                btnBuscarFolioEmbarque.IsEnabled            = false;
                Contexto.AlmacenOrigen.TipoAlmacen          = Contexto.TipoAlmacenOrigen;
                Contexto.AlmacenOrigen.TipoAlmacenID        = Contexto.TipoAlmacenOrigen.TipoAlmacenID;
                Contexto.TipoAlmacenOrigen.ListaTipoAlmacen =
                    configuracionTraspasoAlmacen.Select(tipo => tipo.TipoAlmacenOrigen.TipoAlmacenID).Distinct().
                    ToList();
                var tiposDestino =
                    configuracionTraspasoAlmacen.Where(
                        tipo => tipo.TipoAlmacenOrigen.TipoAlmacenID == Contexto.TipoAlmacenOrigen.TipoAlmacenID);
                if (tiposDestino.Any())
                {
                    Contexto.TipoAlmacenDestino.ListaTipoAlmacen = tiposDestino.Select(tipo => tipo.TipoAlmacenDestino.TipoAlmacenID).Distinct().
                                                                   ToList();
                }
                Contexto.AlmacenOrigen.ListaTipoAlmacen = new List <TipoAlmacenInfo>
                {
                    new TipoAlmacenInfo
                    {
                        TipoAlmacenID = Contexto.TipoAlmacenOrigen.TipoAlmacenID
                    }
                };
            };

            skAyudaOrganizacionOrigen.AyudaConDatos += (o, args) =>
            {
                Contexto.AlmacenOrigen.Organizacion          = Contexto.OrganizacionOrigen;
                Contexto.OrganizacionOrigen.TipoOrganizacion = new TipoOrganizacionInfo
                {
                    TipoOrganizacionID = TipoOrganizacion.Ganadera.GetHashCode()
                };
            };

            skAyudaAlmacenOrigen.AyudaConDatos += (o, args) =>
            {
                Contexto.ProductoOrigen.AlmacenID    = Contexto.AlmacenOrigen.AlmacenID;
                Contexto.AlmacenOrigen.TipoAlmacenID = Contexto.TipoAlmacenOrigen.TipoAlmacenID;
                Contexto.ProveedorOrigen.AlmacenID   = Contexto.AlmacenOrigen.AlmacenID;

                if (Contexto.LoteMpOrigen == null)
                {
                    Contexto.LoteMpOrigen = new AlmacenInventarioLoteInfo
                    {
                        AlmacenInventario = new AlmacenInventarioInfo()
                        {
                            Almacen = Contexto.AlmacenOrigen
                        }
                    };
                }
                else
                {
                    if (Contexto.LoteMpOrigen.AlmacenInventario == null)
                    {
                        Contexto.LoteMpOrigen.AlmacenInventario = new AlmacenInventarioInfo
                        {
                            Almacen = Contexto.AlmacenOrigen
                        };
                    }
                    else
                    {
                        Contexto.LoteMpOrigen.AlmacenInventario.Almacen = Contexto.AlmacenOrigen;
                    }
                }
            };

            skAyudaAlmacenOrigen.PuedeBuscar = () =>
            {
                if ((Contexto.TipoAlmacenOrigen == null || Contexto.TipoAlmacenOrigen.TipoAlmacenID == 0) || (Contexto.OrganizacionOrigen == null || Contexto.OrganizacionOrigen.OrganizacionID == 0))
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.TraspasoMPPAMED_SeleccionarTipoOrganizacion, MessageBoxButton.OK, MessageImage.Warning);
                    return(false);
                }
                return(true);
            };

            skAyudaProductoOrigen.PuedeBuscar = () =>
            {
                if (Contexto.AlmacenOrigen == null || Contexto.AlmacenOrigen.AlmacenID == 0)
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.TraspasoMPPAMED_SeleccionarAlmacen, MessageBoxButton.OK, MessageImage.Warning);
                    return(false);
                }
                return(true);
            };

            skAyudaProductoOrigen.AyudaConDatos += (o, args) =>
            {
                Contexto.ProductoOrigen.AlmacenID = Contexto.AlmacenOrigen.AlmacenID;
                BloqueaDesbloqueaControlesDestino(true);
                Contexto.ProductoDestino                = Contexto.ProductoOrigen;
                skAyudaProductoDestino.IsEnabled        = false;
                Contexto.ProveedorOrigen.ProductoID     = Contexto.ProductoOrigen.ProductoId;
                Contexto.ProveedorOrigen.OrganizacionID = Contexto.OrganizacionOrigen.OrganizacionID;

                Contexto.ProveedorDestino.ProductoID     = Contexto.ProductoOrigen.ProductoId;
                Contexto.ProveedorDestino.OrganizacionID = Contexto.OrganizacionOrigen.OrganizacionID;


                Contexto.LoteMpOrigen.OrganizacionId = Contexto.OrganizacionOrigen.OrganizacionID;
                Contexto.LoteMpOrigen.TipoAlmacenId  = Contexto.TipoAlmacenOrigen.TipoAlmacenID;
                Contexto.LoteMpOrigen.ProductoId     = Contexto.ProductoOrigen.ProductoId;
                Contexto.LoteMpOrigen.Activo         = EstatusEnum.Activo;

                if (tiposAlmacenMedicamentos.Contains(Contexto.TipoAlmacenOrigen.TipoAlmacenID))
                {
                    var almacenInventarioPL = new AlmacenInventarioPL();
                    List <AlmacenInventarioInfo> inventarios =
                        almacenInventarioPL.ObtienePorAlmacenIdLlenaProductoInfo(Contexto.AlmacenOrigen);

                    Contexto.AlmacenInventarioOrigen =
                        inventarios.FirstOrDefault(
                            inven => inven.Producto.ProductoId == Contexto.ProductoOrigen.ProductoId);
                }
            };


            #endregion Ayudas Origen

            #region AyudasDestino

            skAyudaTipoAlmacenDestino.PuedeBuscar += () =>
            {
                if ((Contexto.TipoAlmacenOrigen == null || Contexto.TipoAlmacenOrigen.TipoAlmacenID == 0) || (Contexto.OrganizacionOrigen == null || Contexto.OrganizacionOrigen.OrganizacionID == 0))
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.TraspasoMPPAMED_SeleccionarTipoOrganizacion, MessageBoxButton.OK, MessageImage.Warning);
                    return(false);
                }
                return(true);
            };

            skAyudaTipoAlmacenDestino.AyudaConDatos += (o, args) =>
            {
                Contexto.AlmacenDestino.TipoAlmacenID = Contexto.TipoAlmacenDestino.TipoAlmacenID;

                ConfiguracionTraspasoAlmacenInfo configuracionAlmacen =
                    configuracionTraspasoAlmacen.FirstOrDefault(
                        config =>
                        config.TipoAlmacenOrigen.TipoAlmacenID == Contexto.TipoAlmacenOrigen.TipoAlmacenID &&
                        config.TipoAlmacenDestino.TipoAlmacenID == Contexto.TipoAlmacenDestino.TipoAlmacenID);
                if (configuracionAlmacen != null)
                {
                    if (!configuracionAlmacen.DiferenteOrganizacion)
                    {
                        Contexto.OrganizacionDestino         = Contexto.OrganizacionOrigen;
                        skAyudaOrganizacionDestino.IsEnabled = false;
                    }
                }
                Contexto.AlmacenDestino.Organizacion = Contexto.OrganizacionDestino;
                MostrarControlesCantidades();

                var tiposDestino =
                    configuracionTraspasoAlmacen.Where(
                        tipo => tipo.TipoAlmacenOrigen.TipoAlmacenID == Contexto.TipoAlmacenOrigen.TipoAlmacenID);
                if (tiposDestino.Any())
                {
                    Contexto.TipoAlmacenDestino.ListaTipoAlmacen = tiposDestino.Select(tipo => tipo.TipoAlmacenDestino.TipoAlmacenID).Distinct().
                                                                   ToList();
                    Contexto.AlmacenDestino.ListaTipoAlmacen = tiposDestino.Select(tipo => tipo.TipoAlmacenDestino).Distinct().
                                                               ToList();
                }
            };

            skAyudaOrganizacionDestino.AyudaConDatos += (o, args) =>
            {
                Contexto.AlmacenDestino.Organizacion = Contexto.OrganizacionDestino;
            };

            skAyudaAlmacenDestino.AyudaConDatos += (o, args) =>
            {
                Contexto.ProductoDestino.AlmacenID    = Contexto.AlmacenDestino.AlmacenID;
                Contexto.AlmacenDestino.TipoAlmacenID = Contexto.TipoAlmacenDestino.TipoAlmacenID;
                Contexto.ProveedorDestino.AlmacenID   = Contexto.AlmacenDestino.AlmacenID;

                Contexto.LoteMpDestino.OrganizacionId = Contexto.OrganizacionDestino.OrganizacionID;
                Contexto.LoteMpDestino.TipoAlmacenId  = Contexto.TipoAlmacenDestino.TipoAlmacenID;
                Contexto.LoteMpDestino.ProductoId     = Contexto.ProductoDestino.ProductoId;
                Contexto.LoteMpDestino.Activo         = EstatusEnum.Activo;

                var tiposDestino =
                    configuracionTraspasoAlmacen.Where(
                        tipo => tipo.TipoAlmacenOrigen.TipoAlmacenID == Contexto.TipoAlmacenOrigen.TipoAlmacenID);
                Contexto.TipoAlmacenDestino.ListaTipoAlmacen = tiposDestino.Select(tipo => tipo.TipoAlmacenDestino.TipoAlmacenID).Distinct().
                                                               ToList();
                Contexto.AlmacenDestino.ListaTipoAlmacen = tiposDestino.Select(tipo => tipo.TipoAlmacenDestino).Distinct().
                                                           ToList();

                if (Contexto.LoteMpDestino == null)
                {
                    Contexto.LoteMpDestino = new AlmacenInventarioLoteInfo
                    {
                        AlmacenInventario = new AlmacenInventarioInfo()
                        {
                            Almacen = Contexto.AlmacenDestino
                        }
                    };
                }
                else
                {
                    if (Contexto.LoteMpDestino.AlmacenInventario == null)
                    {
                        Contexto.LoteMpDestino.AlmacenInventario = new AlmacenInventarioInfo
                        {
                            Almacen = Contexto.AlmacenDestino
                        };
                    }
                    else
                    {
                        Contexto.LoteMpDestino.AlmacenInventario.Almacen = Contexto.AlmacenDestino;
                    }
                }
            };


            skAyudaCuentaContableContratoDestino.AyudaConDatos += (sender, args) => CargarCuentasContables();

            #endregion AyudasDestino
        }
コード例 #3
0
        /// <summary>
        /// Cargar los datos del folio para la cancelacion
        /// </summary>
        private void CargarDatosCancelacion()
        {
            try
            {
                var organizacionPL = new OrganizacionPL();
                var tipoAlmacenPL  = new TipoAlmacenPL();
                var productoPL     = new ProductoPL();


                Contexto.OrganizacionOrigen  = organizacionPL.ObtenerPorID(Contexto.AlmacenOrigen.Organizacion.OrganizacionID);
                Contexto.OrganizacionDestino =
                    organizacionPL.ObtenerPorID(Contexto.AlmacenDestino.Organizacion.OrganizacionID);
                Contexto.TipoAlmacenOrigen  = tipoAlmacenPL.ObtenerPorID(Contexto.AlmacenOrigen.TipoAlmacen.TipoAlmacenID);
                Contexto.TipoAlmacenDestino = tipoAlmacenPL.ObtenerPorID(Contexto.AlmacenDestino.TipoAlmacen.TipoAlmacenID);
                Contexto.ProductoOrigen     = productoPL.ObtenerPorID(Contexto.ProductoOrigen);
                Contexto.ProductoDestino    = Contexto.ProductoOrigen;

                if (tiposAlmacenMedicamentos.Contains(Contexto.TipoAlmacenOrigen.TipoAlmacenID))
                {
                    var almacenInventarioPL = new AlmacenInventarioPL();
                    List <AlmacenInventarioInfo> inventarios =
                        almacenInventarioPL.ObtienePorAlmacenIdLlenaProductoInfo(Contexto.AlmacenOrigen);

                    Contexto.AlmacenInventarioOrigen =
                        inventarios.FirstOrDefault(
                            inven => inven.Producto.ProductoId == Contexto.ProductoOrigen.ProductoId);
                }

                stpControles.IsEnabled     = false;
                btnGuardar.IsEnabled       = false;
                btnCancelarFolio.IsEnabled = true;
                MostrarControlesCantidades();
                if (stpControlesMEDOrigen.IsVisible)
                {
                    var almacenInventarioPL = new AlmacenInventarioPL();
                    List <AlmacenInventarioInfo> inventariosDestino =
                        almacenInventarioPL.ObtienePorAlmacenIdLlenaProductoInfo(Contexto.AlmacenDestino);

                    Contexto.AlmacenInventarioDestino =
                        inventariosDestino.FirstOrDefault(
                            inven => inven.Producto.ProductoId == Contexto.ProductoOrigen.ProductoId);
                    if (Contexto.AlmacenInventarioDestino != null)
                    {
                        if (Contexto.CantidadTraspasarDestino > Contexto.AlmacenInventarioDestino.Cantidad)
                        {
                            SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                              Properties.Resources.TraspasoMPPAMED_CancelacionSinInventario, MessageBoxButton.OK,
                                              MessageImage.Warning);
                            btnCancelarFolio.IsEnabled = false;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                  Properties.Resources.TraspasoMPPAMED_ErrorCargarDatosCancelacion, MessageBoxButton.OK,
                                  MessageImage.Error);
            }
        }