public List <ComprobanteDto> ObtenerPoIdUsuario(long id) { var comprobante = _comprobanteRepositorio.GetByFilter(x => x.UsuarioId == id); if (comprobante == null) { throw new Exception("No se encontro registro solicitado"); } List <ComprobanteDto> Lista = new List <ComprobanteDto>(); foreach (var item in comprobante) { var aux = new ComprobanteDto() { Id = item.Id, Numero = item.Numero, Fecha = item.Fecha, SubTotal = item.SubTotal, Total = item.Total, Descuento = item.Descuento, EventoId = item.EventoId, UsuarioId = item.UsuarioId }; Lista.Add(aux); } return(Lista); }
private void CargarComprobantesYaAutorizados(FEAuthRequest feAuthRequest, FECAERequest feCAERequest) { // Agregar comprobantes que fueron autorizados pero que no fueron cargados // por problemas en la comunicacion (devolucion de datos por parte de la AFIP) FERecuperaLastCbteResponse ultimoCbteAutorizadoAfip = this.ObtenerUltimoComprobanteAutorizado(feAuthRequest, feCAERequest); ComprobanteDto ultimoCbteCargado = this.ObtenerUltimoComprobanteCargado(feCAERequest); if (ultimoCbteCargado == null || ultimoCbteCargado.CbteHasta < ultimoCbteAutorizadoAfip.CbteNro) { // Cargarlo en la base los comprobantes faltantes long cbteNro = ultimoCbteCargado != null ? (long)ultimoCbteCargado.CbteHasta + 1 : 1; ComprobanteDto cbteDto = null; while (cbteNro <= ultimoCbteAutorizadoAfip.CbteNro) { FECompConsResponse cbteAfip = this.ObtenerComprobanteAfip(feAuthRequest, feCAERequest, cbteNro).ResultGet; if (cbteAfip == null) { break; } if (cbteAfip.EmisionTipo == "CAE") { cbteDto = new ComprobanteDto(); cbteDto.CAE = cbteAfip.CodAutorizacion; cbteDto.CAEFechaVencimiento = DateTimeHelper.ConvertyyyyMMddToDate(cbteAfip.FchVto); cbteDto.CbteDesde = cbteAfip.CbteDesde; cbteDto.CbteHasta = cbteAfip.CbteHasta; cbteDto.CbteFecha = DateTimeHelper.ConvertyyyyMMddToDate(cbteAfip.CbteFch); cbteDto.PtoVta = cbteAfip.PtoVta; cbteDto.TipoComprobanteId = cbteAfip.CbteTipo; TipoComprobanteDto tipoCbteDto = this.comprobanteSvc.ObtenerTipoComprobantePorCodigoAfip(cbteDto.TipoComprobanteId); if (tipoCbteDto != null) { cbteDto.TipoComprobanteId = tipoCbteDto.Id; } if (cbteAfip.DocTipo == 80) // CUIT { ClienteDto clienteDto = this.clienteSvc.ObtenerClientePorCuit(cbteAfip.DocNro); if (clienteDto != null) { cbteDto.ClienteId = clienteDto.Id; } } // #TODO: borrar //EstadoComprobanteDto estadoDto = this.comprobanteSvc.ObtenerEstado(CodigoEstadoCbte.NoVisualizado); //if (estadoDto != null) //{ // cbteDto.EstadoId = estadoDto.Id; //} this.comprobanteSvc.CrearComprobante(cbteDto); cbteNro = (long)cbteDto.CbteHasta + 1; } else { break; } } } }
public void CrearComprobante(ComprobanteDto dto) { using (var ctx = new FacturaElectronicaEntities()) { Comprobante cbte = new Comprobante(); ToComprobante(dto, cbte); ctx.Comprobantes.AddObject(cbte); ctx.SaveChanges(); } }
private static void ToComprobante(ComprobanteDto dto, Comprobante cbte) { cbte.CAE = dto.CAE; cbte.CAEFechaVencimiento = dto.CAEFechaVencimiento; cbte.FechaDeCarga = DateTime.Now; cbte.CbteDesde = dto.CbteDesde; cbte.CbteHasta = dto.CbteHasta; cbte.CbteFecha = dto.CbteFecha; cbte.ClienteId = dto.ClienteId; cbte.TipoComprobanteId = dto.TipoComprobanteId; cbte.PtoVta = dto.PtoVta; }
public ComprobanteDto ObtenerComprobanteDeArchivoAsociado(long archivoAsociadoId) { using (var ctx = new FacturaElectronicaEntities()) { var dbArchivoAsociado = ctx.ArchivoAsociadoes.Where(a => a.Id == archivoAsociadoId).Single(); var dbComprobante = dbArchivoAsociado.Comprobante; ComprobanteDto comprobanteDto = ToComprobanteDto(dbComprobante); comprobanteDto.NroComprobante = dbArchivoAsociado.NroComprobante; return(comprobanteDto); } }
public ComprobanteDto Modificar(ComprobanteDto dto) { var entity = _comprobanteRepositorio.ObtenerPorId(dto.Id); entity.Codigo = dto.Codigo; entity.FechaSolicitud = dto.FechaSolicitud; entity.HorarioId = dto.HorarioId; _comprobanteRepositorio.Modificar(entity); Guardar(); return(dto); }
public ActionResult PagarEntrada(ComprobanteViewDto dto) { try { dto.Numero = _comprobanteServicio.ObtenerCodigo(); dto.Fecha = DateTime.Now; dto.SubTotal = SessionActiva.Monto; dto.Total = dto.Total; dto.UsuarioId = SessionActiva.UsuarioId; dto.EventoId = dto.EventoId; var Comprobante = new ComprobanteDto() { Numero = dto.Numero, Fecha = dto.Fecha, SubTotal = dto.SubTotal, Total = dto.Total, UsuarioId = dto.UsuarioId, EventoId = dto.EventoId }; dto.ComprobanteId = _comprobanteServicio.Insertar(Comprobante).Id; if (dto.Total > 0) { var Tarjeta = new TarjetaDebitoDto() { NombreTitular = dto.NombreTitular, Tarjeta = dto.Tarjeta, Mes = dto.Mes, Año = dto.Año, CCV = dto.CCV, ComprobanteId = dto.ComprobanteId }; _tarjetaDebitoServicio.Insertar(Tarjeta); } //*****************************// return(RedirectToAction("CreateEntrada", new { id = dto.EventoId })); } catch (Exception e) { ViewBag.Error = e; return(View()); } }
public ComprobanteDto Agregar(ComprobanteDto dto) { var entity = new Dominio.Entidades.Entidades.Comprobante() { Codigo = dto.Codigo, FechaSolicitud = dto.FechaSolicitud, HorarioId = dto.HorarioId, Eliminado = false }; _comprobanteRepositorio.Agregar(entity); Guardar(); dto.Id = entity.Id; return(dto); }
public ComprobanteDto Insertar(ComprobanteDto dto) { var Comprobante = new Dominio.Entity.Entidades.Comprobante() { Numero = dto.Numero, Fecha = dto.Fecha, SubTotal = dto.SubTotal, Total = dto.Total, Descuento = dto.Descuento, EventoId = dto.EventoId, UsuarioId = dto.UsuarioId }; _comprobanteRepositorio.Add(Comprobante); Guardar(); dto.Id = Comprobante.Id; return(dto); }
private static ComprobanteDto ToComprobanteDto(Comprobante comprobante) { if (comprobante == null) { return(null); } ComprobanteDto dto = new ComprobanteDto(); dto.Id = comprobante.Id; dto.CAE = comprobante.CAE; dto.ClienteId = comprobante.ClienteId; dto.ClienteNombre = comprobante.Cliente != null ? comprobante.Cliente.RazonSocial : string.Empty; dto.CAEFechaVencimiento = comprobante.CAEFechaVencimiento; dto.FechaDeCarga = comprobante.FechaDeCarga; dto.TipoComprobanteId = comprobante.TipoComprobanteId; dto.TipoComprobanteDescripcion = comprobante.TipoComprobante.Descripcion; dto.CbteDesde = comprobante.CbteDesde; dto.CbteHasta = comprobante.CbteHasta; dto.CbteFecha = comprobante.CbteFecha; dto.PtoVta = comprobante.PtoVta; //#TODO: logica para obtener comprobante de acuerdo al nro. // Recordar lo de Factura B que se puede poner un rango. ArchivoAsociado archivoAsociado = comprobante.ArchivoAsociadoes.FirstOrDefault(); if (archivoAsociado != null) { dto.PathFile = comprobante.ArchivoAsociadoes.First().PathArchivo; VisualizacionComprobante visualizacionCbte = archivoAsociado.VisualizacionComprobantes.FirstOrDefault(); if (visualizacionCbte != null) { dto.DireccionIp = visualizacionCbte.DireccionIP; dto.FechaVisualizacion = visualizacionCbte.Fecha; } } return(dto); }
protected void Page_Load(object sender, EventArgs e) { try { HasPermissionToSeeMe(Operaciones.MensajesAlertasClientes); this.comprobanteSvc = ServiceFactory.GetComprobanteService(); if (!this.IsPostBack) { if (this.Request.QueryString["Id"] != null) { ComprobanteCriteria criteria = new ComprobanteCriteria(); this.ArchivoAsociadoId = long.Parse(this.Request.QueryString["Id"]); ComprobanteDto comprobante = this.comprobanteSvc.ObtenerComprobanteDeArchivoAsociado(ArchivoAsociadoId); this.lblComprobante.Text = comprobante.NroComprobante.ToString(); } this.Buscar(); } } catch (Exception ex) { ExceptionManager.Instance.HandleException(ex); } }
public virtual long Insertar(ComprobanteDto dto) { var comprobante = GenericInstance <Comprobante> .InstanciarEntidad(dto, _diccionario); return(comprobante.Insertar(dto)); }
public override long Insertar(ComprobanteDto comprobante) { using (var tran = new TransactionScope()) { try { int numeroComprobante = 0; var cajaActual = _unidadDeTrabajo.CajaRepositorio.Obtener (x => x.UsuarioAperturaId == comprobante.UsuarioId && x.UsuarioCierreId == null).FirstOrDefault(); if (cajaActual == null) { throw new Exception("Ocurrio un error al obtener la Caja"); } var ctaCteCompDto = (CtaCteComprobanteDto)comprobante; CuentaCorrienteCliente _CtaCteNueva = new CuentaCorrienteCliente(); numeroComprobante = _contadorServicio.ObtenerSiguienteNumeroComprobante(comprobante.TipoComprobante); _CtaCteNueva = new CuentaCorrienteCliente { ClienteId = ctaCteCompDto.ClienteId, Descuento = ctaCteCompDto.Descuento, EmpleadoId = ctaCteCompDto.EmpleadoId, Fecha = ctaCteCompDto.Fecha, Iva105 = ctaCteCompDto.Iva105, Iva21 = ctaCteCompDto.Iva21, Numero = numeroComprobante, SubTotal = ctaCteCompDto.SubTotal, Total = ctaCteCompDto.Total, TipoComprobante = ctaCteCompDto.TipoComprobante, UsuarioId = ctaCteCompDto.UsuarioId, DetalleComprobantes = new List <DetalleComprobante>(), Movimientos = new List <Movimiento>(), FormaPagos = new List <FormaPago>(), EstaEliminado = false }; _CtaCteNueva.Movimientos.Add(new Movimiento { ComprobanteId = _CtaCteNueva.Id, CajaId = cajaActual.Id, Fecha = ctaCteCompDto.Fecha, Monto = ctaCteCompDto.Total, UsuarioId = ctaCteCompDto.UsuarioId, TipoMovimiento = TipoMovimiento.Ingreso, Descripcion = $"Fa- { ctaCteCompDto.TipoComprobante.ToString() }-Nro { numeroComprobante }", EstaEliminado = false }); foreach (var fp in ctaCteCompDto.FormasDePagos) { var fpCtaCTe = (FormaPagoCtaCteDto)fp; _CtaCteNueva.FormaPagos.Add(new FormaPagoCtaCte { Monto = fpCtaCTe.Monto, TipoPago = TipoPago.CtaCte, ClienteId = fpCtaCTe.ClienteId, EstaEliminado = false }); _CtaCteNueva.Movimientos.Add(new MovimientoCuentaCorriente { ComprobanteId = _CtaCteNueva.Id, CajaId = cajaActual.Id, Fecha = ctaCteCompDto.Fecha, Monto = fpCtaCTe.Monto, UsuarioId = ctaCteCompDto.UsuarioId, TipoMovimiento = TipoMovimiento.Egreso, Descripcion = $"Fa- { ctaCteCompDto.TipoComprobante.ToString() }-Nro { numeroComprobante }", ClienteId = fpCtaCTe.ClienteId, EstaEliminado = false }); cajaActual.TotalEntradaCtaCte += fpCtaCTe.Monto; cajaActual.DetalleCajas.Add(new DetalleCaja { Monto = fpCtaCTe.Monto, TipoPago = TipoPago.CtaCte }); _unidadDeTrabajo.CajaRepositorio.Modificar(cajaActual); } _unidadDeTrabajo.FacturaRepositorio.Modificar(_CtaCteNueva); _unidadDeTrabajo.Commit(); tran.Complete(); return(0); } 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}" )); tran.Dispose(); throw new Exception($"Ocurrio un error grave al grabar la Factura. Error: {error}"); } } }
public override long Insertar(ComprobanteDto comprobante) { using (var tran = new TransactionScope()) { try { var numeroComprobante = _contadorServicio.ObtenerSiguienteNumero(comprobante.TipoComprobante); var config = _configuracionServicio.Obtener(); if (config == null) { throw new Exception("Ocurrio un erorr al obtener la Configuración"); } var cajaActual = _unidadDeTrabajo.CajaRepositorio.Obtener(x => x.UsuarioAperturaId == comprobante.UsuarioId && x.UsuarioCierreId == null).FirstOrDefault(); if (cajaActual == null) { throw new Exception("Ocurrio un error al obtener la Caja"); } cajaActual.DetalleCajas = new List <DetalleCaja>(); var facturaDto = (FacturaDto)comprobante; Dominio.Entidades.Factura _facturaNueva = new Dominio.Entidades.Factura(); if (facturaDto.Estado == Estado.Pendiente && !facturaDto.VieneVentas) { _facturaNueva = _unidadDeTrabajo.FacturaRepositorio.Obtener(facturaDto.Id, "DetalleComprobantes"); _facturaNueva.DetalleComprobantes = new List <DetalleComprobante>(); _facturaNueva.Movimientos = new List <Movimiento>(); _facturaNueva.FormaPagos = new List <FormaPago>(); } else { _facturaNueva = new Dominio.Entidades.Factura { ClienteId = facturaDto.ClienteId, Descuento = facturaDto.Descuento, EmpleadoId = facturaDto.EmpleadoId, Estado = facturaDto.Estado, Fecha = facturaDto.Fecha, Iva105 = facturaDto.Iva105, Iva21 = facturaDto.Iva21, Numero = numeroComprobante, SubTotal = facturaDto.SubTotal, Total = facturaDto.Total, PuestoTrabajoId = facturaDto.PuestoTrabajoId, TipoComprobante = facturaDto.TipoComprobante, UsuarioId = facturaDto.UsuarioId, DetalleComprobantes = new List <DetalleComprobante> (), Movimientos = new List <Movimiento>(), FormaPagos = new List <FormaPago>(), EstaEliminado = false }; foreach (var item in facturaDto.Items) { if (config.FacturaDescuentaStock) { var stockActual = _unidadDeTrabajo.StockRepositorio.Obtener(x => x.ArticuloId == item.ArticuloId && x.DepositoId == config.DepositoVentaId).FirstOrDefault(); if (stockActual == null) { throw new Exception("Ocurrio un error al obtener el Stock del Articulo"); } if (stockActual.Cantidad >= item.Cantidad) { stockActual.Cantidad -= item.Cantidad; } _unidadDeTrabajo.StockRepositorio.Modificar (stockActual); } _facturaNueva.DetalleComprobantes.Add(new DetalleComprobante { Cantidad = item.Cantidad, ArticuloId = item.ArticuloId, Iva = item.Iva, Descripcion = item.Descripcion, Precio = item.Precio, Codigo = item.Codigo, SubTotal = item.SubTotal }); } } if (facturaDto.Estado == Estado.Pagada) { _facturaNueva.Movimientos.Add(new Movimiento { CajaId = cajaActual.Id, Fecha = facturaDto.Fecha, Monto = facturaDto.Total, UsuarioId = facturaDto.UsuarioId, TipoMovimiento = TipoMovimiento.Ingreso, Descripcion = $"Fa-{ facturaDto.TipoComprobante.ToString() }-Nro{ numeroComprobante }", EstaEliminado = false }); foreach (var fp in facturaDto.FormasDePagos) { switch (fp.TipoPago) { case TipoPago.Efectivo: _facturaNueva.FormaPagos.Add(new FormaPago { Monto = fp.Monto, TipoPago = fp.TipoPago, EstaEliminado = false }); cajaActual.TotalEntradaEfectivo += fp.Monto; cajaActual.DetalleCajas.Add(new DetalleCaja { Monto = fp.Monto, TipoPago = TipoPago.Efectivo }); break; //case TipoPago.Tarjeta: // var fpTarjeta = (FormaPagoTarjetaDto)fp; _facturaNueva.FormaPagos.Add(new FormaPagoTarjeta // { // Monto = fpTarjeta.Monto, // TipoPago = fpTarjeta.TipoPago, // CantidadCuotas = fpTarjeta.CantidadCuotas, // CuponPago = fpTarjeta.CuponPago, // NumeroTarjeta = fpTarjeta.NumeroTarjeta, // TarjetaId = fpTarjeta.TarjetaId, // EstaEliminado = false // }); // cajaActual.TotalEntradaTarjeta += // fpTarjeta.Monto; // cajaActual.DetalleCajas.Add(new DetalleCaja // { // Monto = fpTarjeta.Monto, // TipoPago = TipoPago.Tarjeta // }); // break; //case TipoPago.Cheque: // var fpCheque = (FormaPagoChequeDto)fp; _facturaNueva.FormaPagos.Add(new FormaPagoCheque // { // Cheque = new Cheque // { // BancoId = fpCheque.BancoId, // ClienteId = fpCheque.ClienteId, // FechaVencimiento = fpCheque.FechaVencimiento, // Numero = fpCheque.Numero, // EstaRechazado = false, // EstaEliminado = false // }, // Monto = fpCheque.Monto, // TipoPago = TipoPago.Cheque // }); // cajaActual.TotalEntradaCheque += // fpCheque.Monto; // cajaActual.DetalleCajas.Add(new DetalleCaja // { // Monto = fpCheque.Monto, // TipoPago = TipoPago.Cheque // }); // break; case TipoPago.CtaCte: var fpCtaCTe = (FormaPagoCtaCteDto) fp; _facturaNueva.FormaPagos.Add(new FormaPagoCtaCte { Monto = fpCtaCTe.Monto, TipoPago = TipoPago.CtaCte, ClienteId = fpCtaCTe.ClienteId, EstaEliminado = false }); _facturaNueva.Movimientos.Add(new MovimientoCuentaCorriente { CajaId = cajaActual.Id, Fecha = facturaDto.Fecha, Monto = fpCtaCTe.Monto, UsuarioId = facturaDto.UsuarioId, TipoMovimiento = TipoMovimiento.Egreso, Descripcion = $"Fa-{ facturaDto.TipoComprobante.ToString() }-Nro{ numeroComprobante }", ClienteId = fpCtaCTe.ClienteId, EstaEliminado = false }); cajaActual.TotalEntradaCtaCte += fpCtaCTe.Monto; cajaActual.DetalleCajas.Add(new DetalleCaja { Monto = fpCtaCTe.Monto, TipoPago = TipoPago.CtaCte }); break; } } _unidadDeTrabajo.CajaRepositorio.Modificar(cajaActual); } _unidadDeTrabajo.FacturaRepositorio.Insertar(_facturaNueva); _unidadDeTrabajo.Commit(); tran.Complete(); return(0); } catch { tran.Dispose(); throw new Exception("Ocurrio un error grave al grabar la Factura"); } } }
public virtual long Insertar(ComprobanteDto comprobante) { return(0); }
public override long Insertar(ComprobanteDto dto) { return(base.Insertar(dto)); }