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(); } }
/// <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); } }