コード例 #1
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();
            }
        }
コード例 #2
0
 /// <summary>
 /// Obtiene una lista de Recepcion Producto
 /// con su detalle
 /// </summary>
 /// <param name="reader"></param>
 /// <returns></returns>
 internal static List <RecepcionProductoInfo> ObtenerRecepcionProductoConciliacionPorAlmacenMovimientoXML(IDataReader reader)
 {
     try
     {
         Logger.Info();
         var recepcionProductos = new List <RecepcionProductoInfo>();
         RecepcionProductoInfo recepcionProducto;
         while (reader.Read())
         {
             recepcionProducto = new RecepcionProductoInfo
             {
                 Almacen = new AlmacenInfo
                 {
                     AlmacenID    = Convert.ToInt32(reader["AlmacenID"]),
                     Organizacion = new OrganizacionInfo
                     {
                         OrganizacionID = Convert.ToInt32(reader["OrganizacionID"])
                     }
                 },
                 RecepcionProductoId = Convert.ToInt32(reader["RecepcionProductoID"]),
                 AlmacenMovimientoId = Convert.ToInt64(reader["AlmacenMovimientoID"]),
                 Factura             = Convert.ToString(reader["Factura"]),
                 FechaRecepcion      = Convert.ToDateTime(reader["FechaRecepcion"]),
                 FolioRecepcion      = Convert.ToInt32(reader["FolioRecepcion"]),
                 FolioOrdenCompra    = Convert.ToString(reader["FolioOrdenCompra"]),
                 FechaSolicitud      = Convert.ToDateTime(reader["FechaSolicitud"]),
                 Proveedor           = new ProveedorInfo
                 {
                     ProveedorID = Convert.ToInt32(reader["ProveedorID"]),
                     Descripcion = Convert.ToString(reader["Proveedor"]),
                     CodigoSAP   = Convert.ToString(reader["CodigoSAP"])
                 }
             };
             recepcionProductos.Add(recepcionProducto);
         }
         reader.NextResult();
         var recepcionProductoDetalles = new List <RecepcionProductoDetalleInfo>();
         RecepcionProductoDetalleInfo recepcionProductoDetalle;
         while (reader.Read())
         {
             recepcionProductoDetalle = new RecepcionProductoDetalleInfo
             {
                 Cantidad       = Convert.ToDecimal(reader["Cantidad"]),
                 Importe        = Convert.ToDecimal(reader["Importe"]),
                 PrecioPromedio = Convert.ToDecimal(reader["PrecioPromedio"]),
                 Producto       = new ProductoInfo
                 {
                     ProductoId  = Convert.ToInt32(reader["ProductoID"]),
                     Descripcion = Convert.ToString(reader["Producto"]),
                     Familia     = new FamiliaInfo
                     {
                         FamiliaID   = Convert.ToInt32(reader["FamiliaID"]),
                         Descripcion = Convert.ToString(reader["Familia"])
                     },
                     SubFamilia = new SubFamiliaInfo
                     {
                         SubFamiliaID = Convert.ToInt32(reader["SubFamiliaID"]),
                         Descripcion  = Convert.ToString(reader["SubFamilia"]),
                         Familia      = new FamiliaInfo
                         {
                             FamiliaID   = Convert.ToInt32(reader["FamiliaID"]),
                             Descripcion = Convert.ToString(reader["Familia"])
                         },
                     },
                     UnidadMedicion = new UnidadMedicionInfo
                     {
                         UnidadID = Convert.ToInt32(reader["UnidadID"])
                     }
                 },
                 RecepcionProductoId        = Convert.ToInt32(reader["RecepcionProductoID"]),
                 RecepcionProductoDetalleId = Convert.ToInt32(reader["RecepcionProductoDetalleID"])
             };
             recepcionProductoDetalles.Add(recepcionProductoDetalle);
         }
         recepcionProductos.ForEach(datos =>
         {
             datos.ListaRecepcionProductoDetalle =
                 recepcionProductoDetalles.Where(
                     id => id.RecepcionProductoId == datos.RecepcionProductoId).
                 ToList();
         });
         return(recepcionProductos);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }