/// <summary>
 /// Agrega un producto al grid principal
 /// </summary>
 private void AgregarProducto()
 {
     //Falta try catch
     try
     {
         var random       = new Random();
         var productoPl   = new ProductoPL();
         var productoInfo = new ProductoInfo()
         {
             ProductoId = Convert.ToInt32(skAyudaProducto.Clave)
         };
         productoInfo = productoPl.ObtenerPorID(productoInfo);
         var premezclaDetalleInfo = new PremezclaDetalleInfo()
         {
             PremezclaDetalleID = random.Next(999999999),
             Producto           = productoInfo,
             Porcentaje         = Convert.ToDecimal(TxtPorcentajeAjuste.Value.ToString()),
             UsuarioCreacionId  = usuario
         };
         listaPremezclaDetalle.Add(premezclaDetalleInfo);
         GridPremezclaDetalle.ItemsSource = null;
         GridPremezclaDetalle.ItemsSource = listaPremezclaDetalle;
         skAyudaProducto.LimpiarCampos();
         TxtPorcentajeAjuste.Value = 0;
         skAyudaProducto.AsignarFoco();
     }
     catch (Exception exg)
     {
         Logger.Error(exg);
     }
 }
        public string ValidarCodigoProducto(ProcesarArchivoInfo renglonArchivo)
        {
            var resultado = GetLocalResourceObject("OK").ToString();
            var productos = new ProductoPL();
            var prod      = new ProductoInfo();

            prod.ProductoId = int.Parse(renglonArchivo.Codigo);
            prod            = productos.ObtenerPorID(prod);

            if (prod == null)
            {
                resultado = GetLocalResourceObject("producto").ToString();
            }
            else
            {
                renglonArchivo.ProductoID = prod.ProductoId;
            }

            return(resultado);
        }
예제 #3
0
        private void ObtenerDatosProducto(string filtro)
        {
            try
            {
                var          productoPl = new ProductoPL();
                ProductoInfo producto   = productoPl.ObtenerPorID(new ProductoInfo()
                {
                    ProductoId = Convert.ToInt32(filtro)
                });

                if (producto != null)
                {
                    if (producto.Familia.FamiliaID == (int)FamiliasEnum.MaterialEmpaque ||
                        producto.Familia.FamiliaID == (int)FamiliasEnum.Medicamento)
                    {
                        txtUnidad.Text       = producto.DescripcionUnidad;
                        skAyudaProducto.Info = new ProductoInfo()
                        {
                            FiltroFamilia = (int)FamiliasEnum.Medicamento + "|" + (int)FamiliasEnum.MaterialEmpaque,
                            Activo        = EstatusEnum.Activo
                        };
                    }
                    else
                    {
                        SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                          Properties.Resources.RecepcionProducto_ProductoFamiliaInvalida,
                                          MessageBoxButton.OK,
                                          MessageImage.Stop);
                        LimpiarTodoProductos();
                        skAyudaProducto.AsignarFoco();
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }
        }
예제 #4
0
        private void btnGuardar_Click(object sender, RoutedEventArgs e)
        {
            ProductoTiempoEstandarInfo productoTiempo   = new ProductoTiempoEstandarInfo();
            ProductoTiempoEstandarPL   productoTiempoPl = new ProductoTiempoEstandarPL();
            ProductoPL   productoPl   = new ProductoPL();
            ProductoInfo productoInfo = new ProductoInfo();

            try
            {
                if (ValidarCamposObligatorios())
                {
                    productoTiempo.Tiempo              = string.Format("{0}:{1}:00", cmbHora.Text.ToString().PadLeft(2, '0'), cmbMinutos.Text.ToString().PadLeft(2, '0'));
                    productoTiempo.Estatus             = (EstatusEnum)cmbEstatus.SelectedItem;
                    productoTiempo.UsuarioCreacionID   = AuxConfiguracion.ObtenerUsuarioLogueado();
                    productoTiempo.Producto.ProductoId = int.Parse(skAyudaProductos.Clave);
                    productoInfo = productoPl.ObtenerPorID(productoTiempo.Producto);

                    if (productoInfo != null && productoInfo.ProductoId != 0)
                    {
                        if (esEdicion)
                        {
                            productoTiempo.ProductoTiempoEstandarID = int.Parse(txtID.Text);
                            if (productoTiempoPl.ActualizarProductoTiempoEstandar(productoTiempo))
                            {
                                SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                                  Properties.Resources.AdministracionProductoTiempoEstandar_EdicionMsgGuardar, MessageBoxButton.OK,
                                                  MessageImage.Correct);
                                confirmacion = false;
                                this.Close();
                            }
                        }
                        else
                        {
                            var productoTiempoExistenteInfo = productoTiempoPl.ObtenerPorProductoID(productoTiempo);
                            if (productoTiempoExistenteInfo == null || productoTiempoExistenteInfo.ProductoTiempoEstandarID == 0)
                            {
                                if (productoTiempoPl.GuardarProductoTiempoEstandar(productoTiempo))
                                {
                                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                                      Properties.Resources.AdministracionProductoTiempoEstandar_EdicionMsgGuardar, MessageBoxButton.OK,
                                                      MessageImage.Correct);
                                    confirmacion = false;
                                    this.Close();
                                }
                                else
                                {
                                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                                      Properties.Resources.AdministracionProductoTiempoEstandar_EdicionMsgErrorGuardar, MessageBoxButton.OK,
                                                      MessageImage.Error);
                                }
                            }
                            else
                            {
                                SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                                  string.Format(Properties.Resources.AdministracionProductoTiempoEstandar_EdicionMsgProductoTiempoEstandarYaRegistrado,
                                                                productoTiempoExistenteInfo.Producto.Descripcion,
                                                                productoTiempoExistenteInfo.ProductoTiempoEstandarID), MessageBoxButton.OK,
                                                  MessageImage.Error);


                                cmbHora.SelectedIndex    = 0;
                                cmbMinutos.SelectedIndex = 0;
                                skAyudaProductos.LimpiarCampos();
                                skAyudaProductos.AsignarFoco();
                            }
                        }
                    }
                    else
                    {
                        SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                          Properties.Resources.AdministracionProductoTiempoEstandar_EdicionProductoNoValido, MessageBoxButton.OK,
                                          MessageImage.Error);
                    }
                }
            }
            catch (Exception ex)
            {
                SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                  ex.Message.ToString(), MessageBoxButton.OK,
                                  MessageImage.Error);
            }
        }
예제 #5
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);
            }
        }
예제 #6
0
        private void BtnAgregar_OnClick(object sender, RoutedEventArgs e)
        {
            if (skAyudaProveedor.Clave != "")
            {
                if (txtFactura.Text != "")
                {
                    if (skAyudaProducto.Clave != "")
                    {
                        if (txtCantidad.Value != null)
                        {
                            if (txtCantidad.Value != 0)
                            {
                                if (txtImporte.Value != null)
                                {
                                    if (txtImporte.Value != 0)
                                    {
                                        if (renglon < 0)
                                        {
                                            skAyudaProveedor.IsEnabled = false;
                                            txtFactura.IsEnabled       = false;
                                            contador++;

                                            var recepcionProductoDetalle = new RecepcionProductoDetalleInfo
                                            {
                                                Producto =
                                                    new ProductoInfo()
                                                {
                                                    ProductoId = int.Parse(skAyudaProducto.Clave)
                                                }
                                            };
                                            var productoPl = new ProductoPL();
                                            recepcionProductoDetalle.Producto =
                                                productoPl.ObtenerPorID(recepcionProductoDetalle.Producto);
                                            recepcionProductoDetalle.Cantidad = (decimal)txtCantidad.Value;

                                            decimal importe = ObtenerImporte();
                                            if (importe == 0)
                                            {
                                                MensajeTipoCambio();
                                                return;
                                            }

                                            recepcionProductoDetalle.Importe        = importe;
                                            recepcionProductoDetalle.PrecioPromedio = recepcionProductoDetalle.Importe /
                                                                                      recepcionProductoDetalle.Cantidad;
                                            recepcionProducto.ListaRecepcionProductoDetalle.Add(recepcionProductoDetalle);
                                            dgRecepcion.ItemsSource = new List <RecepcionProductoDetalleInfo>();
                                            dgRecepcion.ItemsSource = recepcionProducto.ListaRecepcionProductoDetalle;
                                            btnGuardar.IsEnabled    = true;
                                        }
                                        else
                                        {
                                            var recepcionProductoDetalle = new RecepcionProductoDetalleInfo
                                            {
                                                Producto =
                                                    new ProductoInfo()
                                                {
                                                    ProductoId = int.Parse(skAyudaProducto.Clave)
                                                }
                                            };
                                            var productoPl = new ProductoPL();
                                            recepcionProductoDetalle.Producto =
                                                productoPl.ObtenerPorID(recepcionProductoDetalle.Producto);
                                            recepcionProductoDetalle.Cantidad = (decimal)txtCantidad.Value;

                                            decimal importe = ObtenerImporte();
                                            if (importe == 0)
                                            {
                                                MensajeTipoCambio();
                                                return;
                                            }
                                            recepcionProductoDetalle.Importe        = importe;
                                            recepcionProductoDetalle.PrecioPromedio = recepcionProductoDetalle.Importe /
                                                                                      recepcionProductoDetalle.Cantidad;
                                            recepcionProducto.ListaRecepcionProductoDetalle[renglon] =
                                                recepcionProductoDetalle;
                                            dgRecepcion.ItemsSource = new List <RecepcionProductoDetalleInfo>();
                                            dgRecepcion.ItemsSource = recepcionProducto.ListaRecepcionProductoDetalle;
                                        }
                                        chkDll.IsEnabled = false;
                                        LimpiarCampos();
                                    }
                                    else
                                    {
                                        SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                                          Properties.Resources.RecepcionProducto_IngreseImporte,
                                                          MessageBoxButton.OK,
                                                          MessageImage.Stop);
                                        txtImporte.Focus();
                                    }
                                }
                                else
                                {
                                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                                      Properties.Resources.RecepcionProducto_IngreseImporte,
                                                      MessageBoxButton.OK,
                                                      MessageImage.Stop);
                                    txtImporte.Focus();
                                }
                            }
                            else
                            {
                                SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                                  Properties.Resources.RecepcionProducto_IngreseCantidad,
                                                  MessageBoxButton.OK,
                                                  MessageImage.Stop);
                                txtCantidad.Focus();
                            }
                        }
                        else
                        {
                            SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                              Properties.Resources.RecepcionProducto_IngreseCantidad,
                                              MessageBoxButton.OK,
                                              MessageImage.Stop);
                            txtCantidad.Focus();
                        }
                    }
                    else
                    {
                        SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                          Properties.Resources.RecepcionProducto_IngreseProducto,
                                          MessageBoxButton.OK,
                                          MessageImage.Stop);
                        skAyudaProducto.AsignarFoco();
                    }
                }
                else
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.RecepcionProducto_IngresarFactura,
                                      MessageBoxButton.OK,
                                      MessageImage.Stop);
                    txtFactura.Focus();
                }
            }
            else
            {
                SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                  Properties.Resources.RecepcionProducto_IngresarProveedor,
                                  MessageBoxButton.OK,
                                  MessageImage.Stop);
                skAyudaProveedor.AsignarFoco();
            }
        }
예제 #7
0
        public static ResultadoValidacion GuardarEntradaProducto(EntradaProductoInfo entradaProducto, int Bandera)
        {
            try
            {
                var productoPl        = new ProductoPL();
                var resultado         = new ResultadoValidacion();
                var boletaRecepcionPl = new BoletaRecepcionForrajePL();
                var seguridad         = HttpContext.Current.Session["Seguridad"] as SeguridadInfo;
                if (seguridad != null)
                {
                    var entradaProductoPl = new EntradaProductoPL();
                    if (entradaProducto.Justificacion == null)
                    {
                        entradaProducto.Organizacion = new OrganizacionInfo {
                            OrganizacionID = seguridad.Usuario.Organizacion.OrganizacionID
                        };

                        entradaProducto.Producto = productoPl.ObtenerPorID(entradaProducto.Producto);
                        var tmpRegistro = new RegistroVigilanciaInfo
                        {
                            Producto     = entradaProducto.Producto,
                            Organizacion = entradaProducto.Organizacion
                        };

                        foreach (EntradaProductoDetalleInfo tmpDetalle in entradaProducto.ProductoDetalle)
                        {
                            var enumIndicador = (IndicadoresEnum)tmpDetalle.Indicador.IndicadorId;

                            foreach (var tmpIndicador in tmpDetalle.ProductoMuestras.Where(mue => mue.EsOrigen == EsOrigenEnum.Destino))
                            {
                                RegistroVigilanciaInfo registroVigelancia = boletaRecepcionPl.ObtenerRangos(tmpRegistro, enumIndicador);
                                if (registroVigelancia == null)
                                {
                                    resultado.Resultado = false;
                                    resultado.Mensaje   = boletaRecepcionPl.ObtenerMensajeRango() + " " + entradaProducto.Producto.ProductoDescripcion;

                                    return(resultado);
                                }
                                if (registroVigelancia.porcentajePromedioMin > tmpIndicador.Porcentaje || registroVigelancia.porcentajePromedioMax < tmpIndicador.Porcentaje)
                                {
                                    Bandera = 2;
                                }
                            }
                        }

                        //Bandera = 1.- Aprobada:2.- Pendiente por Autorizar;3.- Autorizado:
                        entradaProducto.Estatus = new EstatusInfo();

                        if (Bandera == 1)
                        {
                            entradaProducto.Estatus.EstatusId = (int)Estatus.Aprobado;
                        }
                        else
                        {
                            entradaProducto.Estatus.EstatusId = (int)Estatus.PendienteAutorizar;
                        }
                        entradaProducto.PesoBonificacion = 0;
                        var registroVigilanciaPl = new RegistroVigilanciaPL();
                        var registroVigilancia   = new RegistroVigilanciaInfo
                        {
                            FolioTurno   = entradaProducto.RegistroVigilancia.FolioTurno,
                            Organizacion =
                                new OrganizacionInfo {
                                OrganizacionID = seguridad.Usuario.Organizacion.OrganizacionID
                            }
                        };
                        entradaProducto.RegistroVigilancia = registroVigilanciaPl.ObtenerRegistroVigilanciaPorFolioTurno(registroVigilancia);
                        entradaProducto.UsuarioCreacionID  = seguridad.Usuario.UsuarioID;
                        entradaProducto.OperadorAnalista   = new OperadorInfo {
                            OperadorID = seguridad.Usuario.Operador.OperadorID
                        };
                        entradaProducto = entradaProductoPl.GuardarEntradaProducto(entradaProducto, (int)TipoFolio.EntradaProducto);

                        resultado.Resultado = true;
                        resultado.Control   = entradaProducto;
                        return(resultado);
                    }
                    entradaProducto.Organizacion = new OrganizacionInfo {
                        OrganizacionID = seguridad.Usuario.Organizacion.OrganizacionID
                    };
                    entradaProducto.Estatus = new EstatusInfo {
                        EstatusId = (int)Estatus.Autorizado
                    };
                    entradaProducto.UsuarioModificacionID = seguridad.Usuario.UsuarioID;
                    entradaProducto.OperadorAutoriza      = new OperadorInfo {
                        OperadorID = seguridad.Usuario.Operador.OperadorID
                    };
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }

            return(null);
        }