public async Task <ActionResult> Alta(long entradaId, long formaPagoId) { var entrada = await _helperEntrada.ObtenerEntrada(entradaId); var evento = entrada.Evento; var factura = new FacturaDto() { ClienteId = entrada.ClienteId.Value, EmpresaId = evento.EmpresaId, FormaPagoId = formaPagoId, Fecha = DateTime.Today, TipoFactura = Dominio.Enum.TipoFactura.B, Total = entrada.Precio }; long facturaId = await _facturaServicio.InsertarDevuelveId(factura); var facturaDetalle = new FacturaDetalleDto() { Cantidad = 1, EntradaId = entradaId, FacturaId = facturaId, SubTotal = entrada.Precio }; await _facturadetalleServicio.Insertar(facturaDetalle); return(RedirectToAction("Imprimir", "FacturaPDF", new { @id = facturaId })); }
public async Task <IActionResult> AltaFacturaRedirect(long clienteId, long formaPagoId, long entradaId, int cantidad, long[] entradas) { var entrada = await _helperEntrada.ObtenerEntrada(entradaId); var evento = entrada.Evento; var factura = new FacturaDto() { ClienteId = clienteId, EmpresaId = evento.EmpresaId, FormaPagoId = formaPagoId, Fecha = DateTime.Now, TipoFactura = Dominio.Enum.TipoFactura.B, Total = cantidad * entrada.Precio }; long facturaId = await _facturaServicio.InsertarDevuelveId(factura); var facturaDetalle = new FacturaDetalleDto() { Cantidad = cantidad, EntradaId = entrada.Id, FacturaId = facturaId, SubTotal = cantidad * entrada.Precio }; await _facturadetalleServicio.Insertar(facturaDetalle); return(RedirectToAction("CompraExitosa", new { facturaId = facturaId, entradas })); }
public async Task <ActionResult <FacturaDto> > CreateEdit([FromBody] FacturaDto factura) { if (factura.IdFactura == 0) { await _facturaRepository.CreateFactura(factura); if (await _facturaRepository.SaveAllAsync()) { return(factura); } else { return(BadRequest("Unable to add factura")); } } else { var facturaFromDB = await _facturaRepository.GetFacturaAsync(factura.IdFactura); _mapper.Map(factura, facturaFromDB); _facturaRepository.UpdateFactura(facturaFromDB); if (await _facturaRepository.SaveAllAsync()) { return(NoContent()); } else { return(BadRequest("Unable to update factura")); } } }
private int GuardarComprobante(FacturaDto facturaDto, int sucursalId, int clienteId) { var facturaInternaEmitida = new FacturaEmitida { ComplementosPago = new List <ComplementoPago>(), EmisorId = sucursalId, ReceptorId = clienteId, Fecha = facturaDto.Fecha, Folio = facturaDto.Folio.ToString(), FormaPago = facturaDto.FormaPago, MetodoPago = facturaDto.MetodoPago, Moneda = facturaDto.Moneda, Serie = facturaDto.Serie, Subtotal = facturaDto.SubtotalCalculado, TipoCambio = facturaDto.TipoCambio, TipoComprobante = facturaDto.TipoComprobante, Total = facturaDto.TotalCalculado, Uuid = facturaDto.Uuid, ArchivoFisicoXml = facturaDto.Xml }; _db.FacturasEmitidas.Add(facturaInternaEmitida); _db.SaveChanges(); return(facturaInternaEmitida.Id); }
private void dgvgrillaFactura_RowEnter(object sender, DataGridViewCellEventArgs e) { if (dgvGrillaFactura.RowCount > 0) { _facturaSeleccionada = (FacturaDto)dgvGrillaFactura.Rows[e.RowIndex].DataBoundItem; } }
public ActionResult GenerarFactura(FacturaDto model) { if (ModelState.IsValid) { } //ProcesoFacturacion.CrearFactura(); return(View("Index", model)); }
private void dgvGrilla_RowEnter(object sender, DataGridViewCellEventArgs e) { if (dgvGrilla.RowCount > 0) { _facturaSeleccionada = (FacturaDto)dgvGrilla.Rows[e.RowIndex].DataBoundItem; txtTotal.Text = (_facturaSeleccionada.Total - _facturaSeleccionada.TotalAbonado).ToString("C2"); } }
public FacturaDto GenerarFactura(Sucursal sucursal, Cliente cliente) { var facturaDto = new FacturaDto { Fecha = DateTime.Now, Folio = sucursal.Folio, Moneda = c_Moneda.XXX, Serie = sucursal.Serie, TipoComprobante = c_TipoDeComprobante.P, ConceptosDto = new List <ConceptoDto>(), EnvioEmailDto = new EnvioEmailDto { CuerpoCorreo = "A continuación su complemento de pago, muchas gracias por su preferencia", EmailEmisor = sucursal.MailEmisor, EmailsReceptores = new List <String> { sucursal.MailConfirmacion, cliente.Email }, EncabezadoCorreo = "Complemento de Pago", NombreSucursal = sucursal.Nombre }, EmisorDto = new EmisorDto { Cer = sucursal.Cer, Key = sucursal.Key, LugarExpedicion = sucursal.CodigoPostal, PasswordKey = sucursal.PasswordKey, RazonSocial = sucursal.RazonSocial, RegimenFiscal = sucursal.RegimenFiscal, Rfc = sucursal.Rfc, DobleValidacion = true, Logo = sucursal.Logo, Nombre = sucursal.Nombre }, ReceptorDto = new ReceptorDto { RazonSocial = cliente.RazonSocial, ResidenciaFiscal = cliente.Pais, Rfc = cliente.Rfc, UsoCfdi = c_UsoCFDI.PorDefinir, }, Timbrado = true }; var conceptoDto = new ConceptoDto { Cantidad = 1, ClaveProductoServicio = "84111506", Descripcion = "Pago", PrecioUnitario = 0, Total = 0, ClaveUnidadMedida = "ACT" }; facturaDto.ConceptosDto.Add(conceptoDto); return(facturaDto); }
public ActionResult Index() { var model = new FacturaDto(); model.CabeceraDto = new CabeceraDto(); model.DetalleDto = new DetalleDto(); return(View("EjemploScaffolding", model.CabeceraDto)); //return View(); }
public void CfdisRelacionados(ref FacturaDto facturaDto, ComplementoPago complementoPago) { if (complementoPago.CfdiRelacionadoId != null && complementoPago.TipoRelacion != null) { facturaDto.TipoRelacion = complementoPago.TipoRelacion; facturaDto.CfdisRelacionados = new List <string> { complementoPago.CfdiRelacionado.Uuid }; } }
public string Facturas(string Factura, string codFact) { Facturas obj = new Facturas(); FacturaDto objFact = new FacturaDto(); objFact = obj.getListSharepoint(Factura, codFact); //"3000001247" var xml = Utilidades.XML.GetXMLFromObject(objFact); return(xml); }
public _Cliente_CtaCte_EmisionFactura(FacturaDto factura, decimal total, decimal Efectivo, decimal Vuelto) { InitializeComponent(); lblCodigo.Text = factura.Numero.ToString(); lblFecha.Text = factura.Fecha.ToString(); lblTotal.Text = total.ToString("C2"); lblCliente.Text = factura.CLienteApynom.ToString(); lblEfectivo.Text = Efectivo.ToString("C2"); lblVuelto.Text = Vuelto.ToString("C2"); }
private void ActualizarDatosCliente(string cadenaBuscar) { dgvGrillaClientes.DataSource = _ClienteServicio.ObtenerPorFiltro(cadenaBuscar).ToList(); FormatearGrillaClientes(dgvGrillaClientes); if (dgvGrillaClientes.RowCount == 0) { _clienteSeleccionado = null; _facturaSeleccionada = null; } }
public IHttpActionResult AfterInsert(FacturaDto data) { try { Log.Debug("FacturaController.AfterInsert: Inicio"); // Desarrollo de lógica de apertura LogData(data); // Fin de lógica de apertura Log.Debug("FacturaController.AfterInsert: Fin"); return(Ok()); } catch (Exception e) { Log.Fatal("FacturaController.AfterInsert", e); return(InternalServerError()); }; }
public FacturaDto Agregar(FacturaDto facturaDto) { var Factura = new Factura() { Numero = NumeroFactura(), FechaOperacion = facturaDto.FechaOperacion, SubTotal = facturaDto.SubTotal, Total = facturaDto.Total, Descuento = facturaDto.Descuento }; _facturaRepositorio.Agregar(Factura); _facturaRepositorio.Guardar(); facturaDto.Id = Factura.Id; return(facturaDto); }
public void PagoCuota(CuotaDto cuota, FacturaDto factura, ClienteDto cliente) { var Cuota = new CuotaDto() { CuotaVigente = cuota.CuotaVigente, CuotaVencimiento = cuota.CuotaVigente.AddMonths(cuota.Cantidad), Cantidad = cuota.Cantidad, Estado = Estado.Vigente, ClienteId = cliente.Id }; var Factura = new FacturaDto() { FechaOperacion = DateTime.Now, SubTotal = factura.SubTotal, Total = factura.SubTotal }; var cuotaId = _cuotaServicio.CuotaVigente(Cuota); var facturaId = _facturaServicio.Agregar(Factura); using (var context = new Context()) { context.Pago_Factura.Add(new Pago_Factura() { FacturaId = facturaId.Id, CuotaId = cuotaId.Id, ClienteId = SessionActiva.ClienteId, EmpleadoId = SessionActiva.EmpleadoId }); context.SaveChanges(); } var movimiento = new MovimientoDto() { Descripcion = "Pago Cuota", EmpleadoId = SessionActiva.EmpleadoId, FechaActualizacion = DateTime.Now, TipoMovimiento = TipoMovimiento.Ingreso, Monto = factura.SubTotal }; _movimientoServicio.NuevoMovimiento(movimiento); }
public Abonar_CtaCte(FacturaDto factura, long ClienteId) { InitializeComponent(); _movimientoServicio = new MovimientoServicio(); _facturServicio = new FacturaServicio(); _clienteServicio = new ClienteServicio(); _clienteId = ClienteId; _factura = factura; RealizoAlgunaOperacion = false; lblTotal.Text = (_factura.Total - _factura.TotalAbonado).ToString("C2"); txtEfectivo.KeyPress += Validacion.NoInyeccion; txtEfectivo.KeyPress += Validacion.NoSimbolos; txtEfectivo.KeyPress += Validacion.NoLetras; txtEfectivo.Enter += txt_Enter; txtEfectivo.Leave += txt_Leave; }
public async Task <IActionResult> SalvareFactura() { using (StreamReader reader = new StreamReader(Request.Body, Encoding.UTF8)) { var content = reader.ReadToEndAsync().Result; FacturaDto facturaDto = JsonConvert.DeserializeObject <FacturaDto>(content); bool status = false; if (ModelState.IsValid) { Factura fc = new Factura { IdLocatie = facturaDto.IdLocatie, NumarFactura = facturaDto.NumarFactura, DataFactura = facturaDto.DataFactura, NumeClient = facturaDto.NumeClient }; foreach (var i in facturaDto.Produse) { fc.DetaliiFactura.Add(new DetaliiFactura { IdLocatie = fc.IdLocatie, NumeProdus = i.NumeProdus, Cantitate = i.Cantitate, PretUnitar = i.PretUnitar, Valoare = i.Valoare, Factura = fc }); } _facturiRepository.AdaugaFactura(fc); await _facturiRepository.SaveAllAsync(); status = true; } else { status = false; } return(Json(new { success = status })); } }
public async Task <FacturaDto> CreateFactura(FacturaDto factura) { Factura newFactura = new Factura { IdLocatie = factura.IdLocatie, NumarFactura = factura.NumarFactura, DataFactura = factura.DataFactura, NumeClient = factura.NumeClient, DetaliiFactura = factura.DetaliiFactura }; try { await _context.Facturi.AddAsync(_mapper.Map <FacturaDto, Factura>(factura)); } catch (Exception ex) { throw new Exception($"{nameof(factura)} could not be saved: {ex.Message}"); } FacturaDto facturaToReturn = _mapper.Map <Factura, FacturaDto>(newFactura); return(facturaToReturn); }
private void ActualizarDatosFactura(long?clienteId, string cadenaBuscar) { if (_clienteSeleccionado != null) { dgvGrillaFactura.DataSource = _facturaServicio.ObtenerFacturasPorCliente(clienteId, cadenaBuscar).ToList(); FormatearGrillaFacturas(dgvGrillaFactura); if (dgvGrillaFactura.RowCount == 0) { _facturaSeleccionada = null; } } else { dgvGrillaFactura.DataSource = _facturaServicio.ObtenerFacturasPorCliente(null, cadenaBuscar).ToList(); FormatearGrillaFacturas(dgvGrillaFactura); } }
public void MandarMailFacturaCliente(string clienteMail, FacturaDto factura) { SmtpClient Client = new SmtpClient() { Host = "smtp.gmail.com", Port = 587, EnableSsl = true, DeliveryMethod = SmtpDeliveryMethod.Network, UseDefaultCredentials = false, Credentials = new NetworkCredential() { UserName = "", Password = "" } }; MailAddress FromEmail = new MailAddress("", "E-Commerce"); MailAddress ToEmail = new MailAddress(clienteMail, "Someone"); MailMessage Message = new MailMessage() { From = FromEmail, Subject = "Cuenta de Usuario", Body = $"<table style = 'max-width: 600px; padding: 10px; margin:0 auto; border-collapse: collapse;'>" + $" <tr>" + $" <td style = 'background-color: #34495e; text-align: center; padding: 0'>" + $" <ul style = 'font-size: 15px; margin: 10px 0'>" + $" </ul>" + $" </td >" + $"</tr>" + $"</table>" }; Message.To.Add(ToEmail); Client.Send(Message); }
private void LogData(FacturaDto data) { Log.Info("Detalle de la factura"); Log.Info(data.ComandaId); Log.Info(data.Fecha); Log.Info(data.Hora); Log.Info(data.Estado); Log.Info(data.Total); Log.Info("Detalle de renglones"); if (data.Detalle != null) { foreach (var renglon in data.Detalle) { string line = $"{renglon.NumeroRenglon};{renglon.CodigoArticulo}; ;{renglon.Cantidad}; ;{renglon.Importe}"; Log.Info(line); } } Log.Info("Json Facturación"); var json = new JavaScriptSerializer().Serialize(data); Log.Info(json); }
private void cmbEstadoFactura_SelectedIndexChanged(object sender, EventArgs e) { if (cmbEstadoFactura.SelectedItem.ToString() == "Pagadas") { var ctaCteId = _cuentaCorrienteServicio.ObtenerCuentaCorrientePorClienteIdSinFiltro(_cliente.Id).Id; dgvGrilla.DataSource = _facturaServicio.ObtenerFacturasPagadasCtaCte(string.Empty, ctaCteId, EstadoFactura.Pagada).ToList(); FormatearGrilla(dgvGrilla); txtBuscar.Clear(); } if (cmbEstadoFactura.SelectedItem.ToString() == "Impagadas") { var ctaCteId = _cuentaCorrienteServicio.ObtenerCuentaCorrientePorClienteIdSinFiltro(_cliente.Id).Id; dgvGrilla.DataSource = _facturaServicio.ObtenerFacturasImpagadasCtaCte(string.Empty, ctaCteId, EstadoFactura.Impagada, EstadoFactura.PagadaParcial).ToList(); FormatearGrilla(dgvGrilla); txtBuscar.Clear(); } if (cmbEstadoFactura.SelectedItem.ToString() == "Todas") { ActualizarDatos(string.Empty); txtBuscar.Clear(); } if (dgvGrilla.RowCount == 0) { _facturaSeleccionada = null; txtTotal.Text = 0m.ToString("C2"); } }
public FacturaDto ObtenerUltimaFacturaEmitida() { using (var context = new ModeloGastronomiaContainer()) { var numero = context.Facturas.Max(x => x.Numero); var factura = context.Facturas.FirstOrDefault(x => x.Numero == numero); var facturaDto = new FacturaDto() { Id = factura.Id, Numero = factura.Numero, Fecha = factura.Fecha, Total = factura.Total, TotalAbonado = factura.TotalAbonado, ClienteId = factura.ClienteId, EmpleadoId = factura.EmpleadoId, CLienteApynom = string.Concat(factura.Cliente.Apellido, " ", factura.Cliente.Nombre) }; return(facturaDto); } }
public ActionResult PagoFactura(CuotaDto cuota, FacturaDto factura, ClienteDto cliente) { if (_cajaServicio.VerSiCajaEstaAbierta()) { if (_facturaServicio.ValidarMesPago(cuota.CuotaVigente, SessionActiva.ClienteId) == false) { _facturaServicio.PagoCuota(cuota, factura, cliente); return(RedirectToAction("CuotasCliente", "Cuota")); } else { TempData["Validacion"] = "Puede Pasar"; ModelState.AddModelError("Error", "El cliente ya posee la factura"); return(RedirectToAction("CuotasCliente", "Cuota")); } } else { TempData["error"] = "error"; return(RedirectToAction("Perfil", "Cliente")); } //_pagoFacturaServicio.PagoFactura(PagoFactura); }
private void btnConfirmar_Click(object sender, EventArgs e) { try { if (nudTotal.Value > _factura.Total) { if (MessageBox.Show("El total que esta por abonar es superior al monto a pagar. ¿Desea continuar?", "Atencion", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.Cancel) { return; } } else if (nudTotal.Value < _factura.Total) { MessageBox.Show("El total que esta por abonar es inferior al monto a pagar.", "Atencion", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } var facturaNueva = new FacturaDto(); if (_vieneDeVentas) { facturaNueva.EmpleadoId = _factura.Vendedor.Id; facturaNueva.ClienteId = _factura.Cliente.Id; facturaNueva.TipoComprobante = _factura.TipoComprobante; facturaNueva.Descuento = _factura.Descuento; facturaNueva.SubTotal = _factura.SubTotal; facturaNueva.Total = _factura.Total; facturaNueva.Estado = Estado.Pagada; facturaNueva.PuestoTrabajoId = _factura.PuntoVentaId; facturaNueva.Fecha = DateTime.Now; facturaNueva.Iva105 = 0; facturaNueva.Iva21 = 0; facturaNueva.UsuarioId = _factura.UsuarioId; foreach (var item in _factura.Items) { facturaNueva.Items.Add(new DetalleComprobanteDto() { Cantidad = item.Cantidad, Iva = item.Iva, Descripcion = item.Descripcion, Precio = item.Precio, ArticuloId = item.ArticuloId, Codigo = item.CodigoBarra, SubTotal = item.SubTotal, Eliminado = false }); } } else { //Pendiente de pago } //FORMAS DE PAGO //EFECTIVO if (nudTotalEfectivo.Value > 0) { facturaNueva.FormasDePagos.Add(new FormaPagoDto() { Monto = nudTotalEfectivo.Value, TipoPago = TipoPago.Efectivo, Eliminado = false }); } //TARJETA if (nudTotalTarjeta.Value > 0) { facturaNueva.FormasDePagos.Add(new FormaPagoTarjetaDto() { NumeroTarjeta = txtNumeroTarjeta.Text, TipoPago = TipoPago.Tarjeta, CantidadCuotas = (int)nudCantidadCuotas.Value, CuponPago = txtCuponPago.Text, Monto = nudTotalTarjeta.Value, TarjetaId = (long)cmbTarjeta.SelectedValue, Eliminado = false }); } //CHEQUE if (nudTotalCheque.Value > 0) { facturaNueva.FormasDePagos.Add(new FormaPagoChequeDto() { BancoId = (long)cmbBanco.SelectedValue, Monto = nudTotalCheque.Value, ClienteId = _factura.Cliente.Id, FechaVencimiento = dtpFechaVencimientoCheque.Value, Numero = txtNumeroCheque.Text, TipoPago = TipoPago.Cheque, Eliminado = false }); } //CTA CTE if (nudTotalCtaCte.Value > 0) { if (_vieneDeVentas) { var deuda = 0; //Corregir if (_factura.Cliente.ActivarCtaCte) { if (_factura.Cliente.TieneLimiteCompra && _factura.Cliente.MontoMaximoCtaCte < deuda + nudTotalCtaCte.Value) { var mensajeCtaCte = $"El cliente {_factura.Cliente.ApyNom} esta exediendo el limite permitido." + Environment.NewLine + $"El limite es {_factura.Cliente.MontoMaximoCtaCte.ToString("C")}"; MessageBox.Show(mensajeCtaCte); } facturaNueva.FormasDePagos.Add(new FormaPagoCtaCteDto() { TipoPago = TipoPago.CtaCte, ClienteId = _factura.Cliente.Id, Monto = nudTotalCtaCte.Value, Eliminado = false }); } } else // Si viene de Pendiente { } } _facturaServicio.Insertar(facturaNueva); MessageBox.Show("Los datos se grabaron correctamente."); RealizoVenta = true; this.Close(); } catch (Exception exception) { MessageBox.Show(exception.Message); RealizoVenta = false; } }
public FacturaDto getListSharepoint(string factura, string CodigoProveedor) { try { FacturaDto objFactura = new FacturaDto(); _Context = _Conexion.ConetionSharepoint(); if (_Context != null) { CamlQuery QueryReferencia = new CamlQuery(); var obj = _Context.Web.Lists.GetByTitle("InformacionFacturas"); CamlQuery query = new CamlQuery(); query.ViewXml = "<View><Query><Where><And><Eq><FieldRef Name='Factura'/>" + "<Value Type='text'>" + factura + "</Value></Eq>" + "<Eq><FieldRef Name='CodigoProveedor'/>" + "<Value Type='text'>" + CodigoProveedor + "</Value></Eq>" + "</And></Where></Query><RowLimit>100</RowLimit></View>"; ListItemCollection itemFactura = obj.GetItems(query); _Context.Load(itemFactura); _Context.ExecuteQuery(); if (itemFactura.Count > 0) { for (int i = 0; i < itemFactura.Count; i++) { var item = itemFactura[i]; objFactura.Factura = (string)item["Factura"]; //objFactura.Proveedor = (string)item["Proveedor"]; objFactura.Codproveedor = (string)item["CodigoProveedor"]; //objFactura.ResponsableSAP = (string)item["ResponsableSAP"]; //objFactura.Fecharadicado = (DateTime)item["FechaRadicado"]; //FieldLookupValue ResponsableFactura = item["ResponsableFactura"] as FieldLookupValue; //objFactura.Responsablefactura = ResponsableFactura.LookupValue; //objFactura.Valor = Convert.ToString((Double)item["Valor"]); //objFactura.Moneda = (string)item["Moneda"]; //objFactura.Numeropreliminar = (string)item["NumeroPreliminar"]; //objFactura.Numerocontabilizado = (string)item["NumeroContabilizado"]; //FieldLookupValue ResponsableEstado = item["ResponsableEstado"] as FieldLookupValue; //objFactura.Responsableestado = ResponsableEstado.LookupValue; //objFactura.Estado = item.FieldValues["Estado"].ToString(); //objFactura.Limitegestion = (DateTime)item["Limite_x0020_gestion"]; //objFactura.CodigoRadicado = (string)item["C_x00f3_digo_x0020_radicado"]; //objFactura.Añoradicado = Convert.ToString((Double)item["A_x00f1_o_x0020_del_x0020_radica"]); //objFactura.Nitproveedor = (string)item["Nit_x0020_proveedor"]; //objFactura.Motivodevolución = (string)item["Motivo_x0020_devoluci_x00f3_n"]; //objFactura.Descripciondevolucion = (string)item["Descripcion_x0020_devolucion"]; //objFactura.Tipodocumento = (string)item["Tipo_x0020_documento"]; //objFactura.Iddocumento = (string)item["IdDocumento"]; //objFactura.Fechafactura = (DateTime)item["FechaFactura"]; objFactura.Linkdocumento = (string)item["LinkDocumento"]; //objFactura.Idfactura = (Double)item["IdFactura"]; //objFactura.Estadointernofactura = (string)item["EstadoInternoFactura"]; //objFactura.Responsabletramite = (string)item["ResponsableTramite"]; //objFactura.Etapatramite = (string)item["EtapaTramite"]; //objFactura.Cajatramite = (string)item["CajaTramite"]; //objFactura.Serietramite = (string)item["SerieTramite"]; //objFactura.Archivotramite = (string)item["ArchivoTramite"]; //objFactura.Ubicaciontramite = (string)item["UbicacionTramite"]; //objFactura.Notificacionjefe = (Boolean)item["NotificacionJefe"]; //objFactura.Notificacionresponsable = (Boolean)item["NotificacionResponsable"]; //objFactura.Codigodevolución = (string)item["CodigoDevolucion"]; //objFactura.Responsablecomprasnoindustriales = (string)item["ResponsableCompras"]; //objFactura.Codigodevolución = (string)item["CodigoDevolucion"]; //objFactura.Solicitantecompra = (string)item["SolicitanteCompras"]; //objFactura.Novidad = (Boolean)item["Novidad"]; //objFactura.Causantedevolucion = (string)item["CausanteDevolucion"]; //objFactura.Usuariocontabilidad = (string)item["UsuarioContabilidad"]; } } } return(objFactura); } catch (Exception ex) { return(null); } }
private void btnFacturar_Click(object sender, EventArgs e) { _factura.Cliente = _clienteSeleccionado; _factura.Vendedor = _vendedorSeleccionado; _factura.TipoComprobante = (TipoComprobante)cmbTipoComprobante.SelectedItem; _factura.PuntoVentaId = (long)cmbPuestoVenta.SelectedValue; _factura.UsuarioId = Identidad.UsuarioId; if (_configuracion.PuestoCajaSeparado) { try { var nuevoComprobante = new FacturaDto() { EmpleadoId = _factura.Vendedor.Id, ClienteId = _factura.Cliente.Id, TipoComprobante = _factura.TipoComprobante, Descuento = _factura.Descuento, SubTotal = _factura.SubTotal, Fecha = DateTime.Now, Estado = Estado.Pendiente, PuestoTrabajoId = _factura.PuntoVentaId, Iva105 = 0, Iva21 = 0, Total = _factura.Total, UsuarioId = _factura.UsuarioId, VieneVentas = true, Eliminado = false }; foreach (var item in _factura.Items) { nuevoComprobante.Items.Add(new DetalleComprobanteDto { Cantidad = item.Cantidad, Iva = item.Iva, Descripcion = item.Descripcion, Precio = item.Precio, ArticuloId = item.ArticuloId, Codigo = item.CodigoBarra, SubTotal = item.SubTotal, Eliminado = false, }); } _facturaServicio.Insertar(nuevoComprobante); MessageBox.Show("Los datos se grabaron correctamente"); LimpiarParaNuevoFactura(); } catch (DbEntityValidationException ex) { var error = ex.EntityValidationErrors.SelectMany(v => v.ValidationErrors) .Aggregate(string.Empty, (current, validationError) => current + ($"Property: {validationError.PropertyName} Error: {validationError.ErrorMessage}. {Environment.NewLine}" )); throw new Exception($"Ocurrio un error grave al grabar la Factura. Error: {error}"); } } else { var fFormaDePago = new _00044_FormaPago(_factura); fFormaDePago.ShowDialog(); if (fFormaDePago.RealizoVenta) { LimpiarParaNuevoFactura(); txtCodigo.Focus(); } } }
private void btnConfirmar_Click(object sender, EventArgs e) { try { if (nudTotal.Value > _factura.Total) { if (MessageBox.Show("El total que esta por abonar es superior al monto a pagar.Desea continuar ? ", "Atención", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.Cancel) { return; } } else if (nudTotal.Value < _factura.Total) { MessageBox.Show("El total que esta por abonar es inferior al monto a pagar", "Atención", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } var _facturaNueva = new FacturaDto(); { if (_vieneDeVentas) { _facturaNueva.EmpleadoId = _factura.Vendedor.Id; _facturaNueva.ClienteId = _factura.Cliente.Id; _facturaNueva.TipoComprobante = _factura.TipoComprobante; _facturaNueva.Descuento = _factura.Descuento; _facturaNueva.SubTotal = _factura.SubTotal; _facturaNueva.Total = _factura.Total; _facturaNueva.Estado = Estado.Pagada; _facturaNueva.PuestoTrabajoId = _factura.PuntoVentaId; _facturaNueva.Fecha = DateTime.Now; _facturaNueva.Iva105 = 0; _facturaNueva.Iva21 = 0; _facturaNueva.UsuarioId = _factura.UsuarioId; foreach (var item in _factura.Items) { _facturaNueva.Items.Add(new DetalleComprobanteDto { Cantidad = item.Cantidad, Iva = item.Iva, Descripcion = item.Descripcion, Precio = item.Precio, ArticuloId = item.ArticuloId, Codigo = item.CodigoBarra, SubTotal = item.SubTotal, Eliminado = false, }); } } else { // TODO pendiente de Pago } if (nudTotalEfectivo.Value > 0) { _facturaNueva.FormasDePagos.Add(new FormaPagoDto { Monto = nudTotalEfectivo.Value, TipoPago = TipoPago.Efectivo, Eliminado = false }); } if (nudTotalCtaCte.Value > 0) { if (_vieneDeVentas) { // TODO: Falta ver deuda del Cliente var deuda = 0; if (_factura.Cliente.ActivarCtaCte) { if (_factura.Cliente.TieneLimiteCompra && _factura.Cliente.MontoMaximoCtaCte < deuda + nudTotalCtaCte.Value) { var menssajeCtaCte = $"El cliente {_factura.Cliente.ApyNom} esta por arriba del limite Permitido." + Environment.NewLine + $" El limite es {_factura.Cliente.MontoMaximoCtaCte.ToString("C")}"; MessageBox.Show(menssajeCtaCte, "Atención", MessageBoxButtons.OK, MessageBoxIcon.Stop); return; } _facturaNueva.FormasDePagos.Add(new FormaPagoCtaCteDto { TipoPago = TipoPago.CtaCte, ClienteId = _factura.Cliente.Id, Monto = nudTotalCtaCte.Value, Eliminado = false, }); } } else { // TODO: Facturas Pendientes de Pago } } _facturaServicio.Insertar(_facturaNueva); MessageBox.Show("Los datos se grabaron correctamente"); RealizoVenta = true; Close(); } } catch (Exception exception) { MessageBox.Show(exception.Message); RealizoVenta = false; } }
private void btnConfirmar_Click(object sender, EventArgs e) { try { if (nudVuelto.Value > 0) { if (MessageBox.Show("El total que esta por abonar es superior al monto a pagar.Desea continuar ? ", "Atención", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.Cancel) { return; } } else if (nudVuelto.Value < 0) { MessageBox.Show("El total que esta por abonar es inferior al monto a pagar", "Atención", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } var _facturaNueva = new FacturaDto(); _facturaNueva.VieneVentas = _vieneDeVentas; if (_vieneDeVentas) { _facturaNueva.EmpleadoId = _factura.Vendedor.Id; _facturaNueva.ClienteId = _factura.Cliente.Id; _facturaNueva.TipoComprobante = _factura.TipoComprobante; _facturaNueva.Descuento = _factura.Descuento; _facturaNueva.SubTotal = _factura.SubTotal; _facturaNueva.Total = _factura.Total; _facturaNueva.Estado = Estado.Pagada; _facturaNueva.PuestoTrabajoId = _factura.PuntoVentaId; _facturaNueva.Fecha = DateTime.Now; _facturaNueva.Iva105 = 0; _facturaNueva.Iva21 = 0; _facturaNueva.UsuarioId = _factura.UsuarioId; foreach (var item in _factura.Items) { _facturaNueva.Items.Add(new DetalleComprobanteDto { Cantidad = item.Cantidad, Iva = item.Iva, Descripcion = item.Descripcion, Precio = item.Precio, ArticuloId = item.ArticuloId, Codigo = item.CodigoBarra, SubTotal = item.SubTotal, Eliminado = false, }); } } else { _facturaNueva.Id = _facturaPendiente.Id; _facturaNueva.Estado = Estado.Pendiente; _facturaNueva.VieneVentas = false; _facturaNueva.TipoComprobante = _facturaPendiente.TipoComprobante; _facturaNueva.UsuarioId = Identidad.UsuarioId; _facturaNueva.Fecha = DateTime.Now; _facturaNueva.Total = _facturaPendiente.MontoPagar; } // Formas de Pago if (nudTotalEfectivo.Value > 0) { _facturaNueva.FormasDePagos.Add(new FormaPagoDto { Monto = nudTotalEfectivo.Value, TipoPago = TipoPago.Efectivo, Eliminado = false }); } if (nudTotalTarjeta.Value > 0) { _facturaNueva.FormasDePagos.Add(new FormaPagoTarjetaDto { TipoPago = TipoPago.Tarjeta, CantidadCuotas = (int)nudCantidadCuotas.Value, CuponPago = txtCuponPago.Text, Monto = nudTotalTarjeta.Value, NumeroTarjeta = txtNumeroTarjeta.Text, TarjetaId = (long)cmbTarjeta.SelectedValue, Eliminado = false }); } if (nudTotalCheque.Value > 0) { _facturaNueva.FormasDePagos.Add(new FormaPagoChequeDto { BancoId = (long)cmbBanco.SelectedValue, ClienteId = _factura.Cliente.Id, FechaVencimiento = dtpFechaVencimientoCheque.Value, Monto = nudTotalCheque.Value, Numero = txtNumeroCheque.Text, TipoPago = TipoPago.Cheque, Eliminado = false }); } if (nudTotalCtaCte.Value > 0) { var deuda = _cuentaCorrienteServicio.ObtenerDeudaCliente(_factura.Cliente.Id); if (_vieneDeVentas) { if (_factura.Cliente.ActivarCtaCte) { if (_factura.Cliente.TieneLimiteCompra && _factura.Cliente.MontoMaximoCtaCte < deuda + nudTotalCtaCte.Value) { var menssajeCtaCte = $"El cliente {_factura.Cliente.ApyNom} esta por arriba del limite Permitido." + Environment.NewLine + $" El limite es { _factura.Cliente.MontoMaximoCtaCte.ToString("C")}"; MessageBox.Show(menssajeCtaCte, "Atención", MessageBoxButtons.OK, MessageBoxIcon.Stop); return; } _facturaNueva.FormasDePagos.Add(new FormaPagoCtaCteDto { TipoPago = TipoPago.CtaCte, ClienteId = _factura.Cliente.Id, Monto = nudTotalCtaCte.Value, Eliminado = false, }); } } else // Si viene de Pendiente { if (_facturaPendiente.Cliente.ActivarCtaCte) { if (_facturaPendiente.Cliente.TieneLimiteCompra && _facturaPendiente.Cliente.MontoMaximoCtaCte < deuda + nudTotalCtaCte.Value) { var menssajeCtaCte = $"El cliente {_facturaPendiente.Cliente.ApyNom} esta por arriba del limite Permitido." + Environment.NewLine + $" El limite es { _facturaPendiente.Cliente.MontoMaximoCtaCte.ToString("C")}"; MessageBox.Show(menssajeCtaCte, "Atención", MessageBoxButtons.OK, MessageBoxIcon.Stop); return; } _facturaNueva.FormasDePagos.Add(new FormaPagoCtaCteDto { TipoPago = TipoPago.CtaCte, ClienteId = _facturaPendiente.Cliente.Id, Monto = nudTotalCtaCte.Value, Eliminado = false, }); } }//TODO PRE PARCIAL } if (!_vieneDeVentas) { _facturaServicio.Modificar(_facturaNueva); MessageBox.Show("Los datos se grabaron correctamente"); RealizoVenta = true; Close(); } else { _facturaServicio.Insertar(_facturaNueva); MessageBox.Show("Los datos se grabaron correctamente"); RealizoVenta = true; Close(); } } catch (Exception exception) { MessageBox.Show(exception.Message); RealizoVenta = false; } }