private void RegistraEntrega() { try { AsociadoMantenimiento asociadoM = new AsociadoMantenimiento(); List <SIGEEA_DetFacAsociado> listaDetalles = new List <SIGEEA_DetFacAsociado>(); SIGEEA_FacAsociado factura = new SIGEEA_FacAsociado(); factura.Estado_FacAsociado = true; factura.FecEntrega_FacAsociado = DateTime.Now; factura.FK_Id_Asociado = asociado.PK_Id_Asociado; factura.Numero_FacAsociado = asociadoM.ObtenerNumeroFacturaEntrega(); foreach (uc_IngresoProducto ip in stpContenedor.Children) { SIGEEA_DetFacAsociado fac = new SIGEEA_DetFacAsociado(); fac.CanTotal_DetFacAsociado = ip.getCantidad(); fac.FK_Id_Lote = ip.getLote(); fac.Mercado_DetFacAsociado = ip.getMercado(); fac.FK_Id_PreProCompra = ip.getProducto();//Se le asigna la PK del producto, en la función de registrar de AsociadoMantenimiento se hace el cambio necesario. listaDetalles.Add(fac); } asociadoM.RegistraEntrega(factura, listaDetalles); MessageBox.Show("Entrega registrada con éxito.", "SIGEEA", MessageBoxButton.OK, MessageBoxImage.Exclamation); wnwFacturaEntrega ventana = new wnwFacturaEntrega(factura.PK_Id_FacAsociado, asociado.Codigo_Asociado); ventana.ShowDialog(); this.Close(); } catch (Exception ex) { MessageBox.Show("Error al registrar: " + ex.Message, "SIGEEA", MessageBoxButton.OK, MessageBoxImage.Error); } }
/// <summary> /// Completa la entrega de un detalle en la factura /// </summary> /// <param name="pkDetalle"></param> /// <param name="CantidadNeta"></param> public void CompletarEntrega(int pkDetalle, double CantidadNeta, int unidadMedida, int pProducto, bool pEstado) { try { DataClasses1DataContext dc = new DataClasses1DataContext(); SIGEEA_DetFacAsociado detalle = dc.SIGEEA_DetFacAsociados.First(c => c.PK_Id_DetFacAsociado == pkDetalle); ProductoMantenimiento producto = new ProductoMantenimiento(); detalle.CanNeta_DetFacAsociado = CantidadNeta; detalle.CanTotal_DetFacAsociado = detalle.CanTotal_DetFacAsociado; detalle.Cancelado_DetFacAsociado = false; detalle.FK_Id_FacAsociado = detalle.FK_Id_FacAsociado; detalle.FK_Id_Lote = detalle.FK_Id_Lote; detalle.Saldo_DetFacAsociado = CantidadNeta * (detalle.Mercado_DetFacAsociado == 1 ? dc.SIGEEA_PreProCompras.First(c => c.PK_Id_PreProCompra == detalle.FK_Id_PreProCompra).PreNacional_PreProCompra : dc.SIGEEA_PreProCompras.First(c => c.PK_Id_PreProCompra == detalle.FK_Id_PreProCompra).PreExtranjero_PreProCompra); detalle.FK_Id_PreProCompra = detalle.FK_Id_PreProCompra; detalle.Mercado_DetFacAsociado = detalle.Mercado_DetFacAsociado; dc.SubmitChanges(); if (pEstado == true) { producto.IncrementarInventario(unidadMedida, pProducto, CantidadNeta); } } catch (Exception ex) { throw new ArgumentException("Error: " + ex.Message); } }
public uc_ItemEntrega(string Informacion, int pkDetalle, int pkProducto) { InitializeComponent(); lblInformacion.Text = Informacion; PK_Detalle = pkDetalle; producto = pkProducto; SIGEEA_DiagramaDataContext dc = new SIGEEA_DiagramaDataContext(); SIGEEA_DetFacAsociado detalle = dc.SIGEEA_DetFacAsociados.First(c => c.PK_Id_DetFacAsociado == pkDetalle); cantidad = detalle.CanTotal_DetFacAsociado; if (detalle.CanNeta_DetFacAsociado > -1) { txbCantidadNeta.Text = detalle.CanNeta_DetFacAsociado.ToString(); txbCantidadNeta.IsEnabled = false; } }
/// <summary> /// Cancela las facturas /// </summary> /// <param name="pDetalles"></param> /// <returns></returns> public bool CancelaFacturaAsociado(List <int> pDetalles, List <double> pMontos, int pMetodoPago = 0, string pNumChequeTransferencia = null, double pTotal = 0) { try { DataClasses1DataContext dc = new DataClasses1DataContext(); if (pDetalles.Count > 0) { int indice = 0; int pkFactura = 0; foreach (int i in pDetalles) { SIGEEA_DetFacAsociado detalle = dc.SIGEEA_DetFacAsociados.First(c => c.PK_Id_DetFacAsociado == i); pkFactura = detalle.FK_Id_FacAsociado; if (pMontos.ElementAt(indice) > detalle.Saldo_DetFacAsociado) { return(false); } else if (pMontos.ElementAt(indice) < detalle.Saldo_DetFacAsociado) { detalle.Saldo_DetFacAsociado = detalle.Saldo_DetFacAsociado - pMontos.ElementAt(indice); } else { detalle.Saldo_DetFacAsociado = 0; } detalle.PK_Id_DetFacAsociado = detalle.PK_Id_DetFacAsociado; detalle.Cancelado_DetFacAsociado = detalle.Saldo_DetFacAsociado > 0 ? false : true; detalle.CanNeta_DetFacAsociado = detalle.CanNeta_DetFacAsociado; detalle.CanTotal_DetFacAsociado = detalle.CanTotal_DetFacAsociado; detalle.FK_Id_FacAsociado = detalle.FK_Id_FacAsociado; detalle.FK_Id_Lote = detalle.FK_Id_Lote; detalle.FK_Id_PreProCompra = detalle.FK_Id_PreProCompra; detalle.Mercado_DetFacAsociado = detalle.Mercado_DetFacAsociado; dc.SubmitChanges(); indice++; } RevisaFacurasCanceladas(dc.SIGEEA_FacAsociados.First(c => c.PK_Id_FacAsociado == (dc.SIGEEA_DetFacAsociados.First(d => d.PK_Id_DetFacAsociado == pDetalles.First()).FK_Id_FacAsociado)).PK_Id_FacAsociado); CrearBitacoraPago(pDetalles, pMetodoPago, UsuarioGlobal.InfoUsuario.PK_Id_Usuario, DateTime.Now, pNumChequeTransferencia, pTotal); } return(true); } catch (Exception ex) { string mensaje = ex.Message; return(false); } }
/// <summary> /// Cancela las facturas /// </summary> /// <param name="pDetalles"></param> /// <returns></returns> public bool CancelaFacturaAsociado(List <int> pDetalles, List <double> pMontos) { try { DataClasses1DataContext dc = new DataClasses1DataContext(); if (pDetalles.Count > 0) { int indice = 0; foreach (int i in pDetalles) { SIGEEA_DetFacAsociado detalle = dc.SIGEEA_DetFacAsociados.First(c => c.PK_Id_DetFacAsociado == i); if (pMontos.ElementAt(indice) > detalle.Saldo_DetFacAsociado) { return(false); } else if (pMontos.ElementAt(indice) < detalle.Saldo_DetFacAsociado) { detalle.Saldo_DetFacAsociado = detalle.Saldo_DetFacAsociado - pMontos.ElementAt(indice); } else { detalle.Saldo_DetFacAsociado = 0; } detalle.PK_Id_DetFacAsociado = detalle.PK_Id_DetFacAsociado; detalle.Cancelado_DetFacAsociado = detalle.Saldo_DetFacAsociado > 0 ? false : true; detalle.CanNeta_DetFacAsociado = detalle.CanNeta_DetFacAsociado; detalle.CanTotal_DetFacAsociado = detalle.CanTotal_DetFacAsociado; detalle.FK_Id_FacAsociado = detalle.FK_Id_FacAsociado; detalle.FK_Id_Lote = detalle.FK_Id_Lote; detalle.FK_Id_PreProCompra = detalle.FK_Id_PreProCompra; detalle.Mercado_DetFacAsociado = detalle.Mercado_DetFacAsociado; dc.SubmitChanges(); indice++; } RevisaFacurasCanceladas(dc.SIGEEA_FacAsociados.First(c => c.PK_Id_FacAsociado == (dc.SIGEEA_DetFacAsociados.First(d => d.PK_Id_DetFacAsociado == pDetalles.First()).FK_Id_FacAsociado)).PK_Id_FacAsociado); } return(true); } catch (Exception ex) { return(false); } }