Пример #1
0
 /// <summary>
 /// Metodo que llena combo almacenes y extablecer almacen
 /// </summary>
 private void CargarCboAlmacenes()
 {
     try
     {
         var almacenPl        = new AlmacenPL();
         var listaAlmacenInfo = almacenPl.ObtenerAlmacenPorOrganizacion(organizacionID);
         if (listaAlmacenInfo == null)
         {
             return;
         }
         var almacenes = new AlmacenInfo {
             Descripcion = Properties.Resources.AjusteDeInventario_Seleccione, AlmacenID = 0
         };
         listaAlmacenInfo.Insert(0, almacenes);
         CboAlmacenes.ItemsSource   = listaAlmacenInfo;
         CboAlmacenes.SelectedValue = almacenID;
     }
     catch (ExcepcionGenerica ex)
     {
         Logger.Error(ex);
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Пример #2
0
 /// <summary>
 /// Cargar el combo almacenes
 /// </summary>
 private void CargarCboAlmacenes()
 {
     try
     {
         AlmacenPL almacenPl = new AlmacenPL();
         listaAlmacenInfo = almacenPl.ObtenerAlmacenPorOrganizacion(organizacionId);
         if (listaAlmacenInfo != null)
         {
             var almacenes = new AlmacenInfo {
                 Descripcion = "Seleccione", AlmacenID = 0
             };
             listaAlmacenInfo.Insert(0, almacenes);
             cboAlmacenes.ItemsSource   = listaAlmacenInfo;
             cboAlmacenes.SelectedValue = 0;
         }
         else
         {
             SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                               Properties.Resources.CierreDiaInventario_NoAlmacenesOrganizacionUsuario,
                               MessageBoxButton.OK, MessageImage.Warning);
             LimpiarCaptura();
             cboAlmacenes.IsEnabled = false;
         }
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
        /// <summary>
        /// Obtiene el almacén general que tenga configurado
        /// el usuario.
        /// </summary>
        private static AlmacenInfo ObtenerAlmacenGenerarl(int organizacionId)
        {
            var                 almacenDaL  = new AlmacenPL();
            AlmacenInfo         almacenInfo = null;
            IList <AlmacenInfo> almacenes   = almacenDaL.ObtenerAlmacenPorOrganizacion(organizacionId);

            if (almacenes != null && almacenes.Count > 0)
            {
                almacenInfo = almacenes.FirstOrDefault(a => a.TipoAlmacenID == (int)TipoAlmacenEnum.GeneralGanadera &&
                                                       a.Activo == EstatusEnum.Activo);
            }
            return(almacenInfo);
        }
        public static AlmacenInventarioLoteInfo ObtenerNuevoLoteMateriaPrima(int productoId, string tipoalmacen)
        {
            try
            {
                var seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo;
                int organizacionId = 0, usuarioId = 0, tipoAlmacen = 0;

                AlmacenInventarioLoteInfo almacenInventarioLote = null;

                if (seguridad != null)
                {
                    organizacionId = seguridad.Usuario.Organizacion.OrganizacionID;
                    usuarioId      = seguridad.Usuario.UsuarioID;
                }

                switch (tipoalmacen)
                {
                case "rbLoteAlmacen":
                    tipoAlmacen = (int)TipoAlmacenEnum.MateriasPrimas;
                    break;

                case "rbLoteProceso":
                    tipoAlmacen = (int)TipoAlmacenEnum.PlantaDeAlimentos;
                    break;

                case "rbBodegaExterna":
                    tipoAlmacen = (int)TipoAlmacenEnum.BodegaExterna;
                    break;
                }

                var almacenInventarioLotePl = new AlmacenInventarioLotePL();
                var almacenPl               = new AlmacenPL();
                var almacenInventarioPl     = new AlmacenInventarioPL();

                var almacenInventario =
                    almacenPl.ObtenerAlmacenInventarioPorOrganizacionTipoAlmacen(new ParametrosOrganizacionTipoAlmacenProductoActivo
                {
                    OrganizacionId = organizacionId,
                    TipoAlmacenId  = tipoAlmacen,
                    Activo         = (int)EstatusEnum.Activo,
                    ProductoId     = productoId
                });

                // Si el producto no se encuentra en el almacen inventario, lo insertamos
                if (almacenInventario == null)
                {
                    var listaAlmacenOrganizacion = almacenPl.ObtenerAlmacenPorOrganizacion(organizacionId);
                    if (listaAlmacenOrganizacion != null)
                    {
                        // Obtenemos el almacen y validamos que sea del mismo tipo Almacen
                        foreach (AlmacenInfo almacenInfo in listaAlmacenOrganizacion)
                        {
                            // Aqui se valida que el almacen sea del tipo seleccionado en pantalla
                            if (almacenInfo.TipoAlmacen.TipoAlmacenID == tipoAlmacen)
                            {
                                almacenInventario = new AlmacenInventarioInfo
                                {
                                    AlmacenInventarioID =
                                        almacenInventarioPl.Crear(new AlmacenInventarioInfo
                                    {
                                        AlmacenID         = almacenInfo.AlmacenID,
                                        ProductoID        = productoId,
                                        UsuarioCreacionID = usuarioId
                                    }),
                                    AlmacenID = almacenInfo.AlmacenID
                                };
                                break;
                            }
                        }
                    }
                }

                if (almacenInventario != null)
                {
                    int loteIdCreado = almacenInventarioLotePl.Crear(new AlmacenInventarioLoteInfo
                    {
                        AlmacenInventarioLoteId = 0,
                        AlmacenInventario       =
                            new AlmacenInventarioInfo {
                            AlmacenInventarioID = almacenInventario.AlmacenInventarioID
                        },
                        Cantidad          = 0,
                        PrecioPromedio    = 0,
                        Piezas            = 0,
                        Importe           = 0,
                        Activo            = EstatusEnum.Activo,
                        UsuarioCreacionId = usuarioId,
                    }, new AlmacenInventarioInfo
                    {
                        AlmacenID  = almacenInventario.AlmacenID,
                        ProductoID = productoId
                    });

                    almacenInventarioLote = almacenInventarioLotePl.ObtenerAlmacenInventarioLotePorId(loteIdCreado);
                }

                return(almacenInventarioLote);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new SystemException(ex.Message);
            }
        }