public long GenerarComprobanteCompra(ComprobanteCompraDto dto)
        {
            using (var context = new ModeloXCommerceContainer())
            {
                //Comprobante
                var cliente = context.Personas.OfType <AccesoDatos.Cliente>().FirstOrDefault(x =>
                                                                                             x.Dni == "99999999");
                if (cliente == null)
                {
                    throw new Exception("no se encontro la entidad");
                }

                var comprobante = new AccesoDatos.ComprobanteCompra
                {
                    Fecha               = DateTime.Now,
                    Numero              = NumeroDeComprobante.UltimoNumeroComprobante(),
                    ProveedorId         = dto.ProveedorId,
                    Total               = dto.Total,
                    SubTotal            = dto.SubTotal,
                    TipoComprobante     = TipoComprobante.X,
                    ClienteId           = cliente.Id,
                    Descuento           = dto.Descuento,
                    UsuarioId           = Entidad.Entidad.UsuarioId,
                    DetalleComprobantes = new List <AccesoDatos.DetalleComprobante>()
                };
                context.Comprobantes.Add(comprobante);
                context.SaveChanges();
                return(comprobante.Id);
            }
        }
 public async Task Insertar(ComprobanteCompraDto dto)
 {
     using (var context = new DataContext())
     {
         var comprobanteCompra = _mapper.Map <Dominio.Entidades.ComprobanteCompra>(dto);
         await _comprobanteCompraRepositorio.Create(comprobanteCompra);
     }
 }
Exemple #3
0
 public _00010_CompraProveedor(IArticuloServicio articuloServicio, IListaPreciosServicio listaPrecioServicio, IProveedorServicio proveedorServicio, IComprobanteCompraServicio comprobanteCompraServicio)
 {
     _comprobanteCompraServicio = comprobanteCompraServicio;
     _articuloServicio          = articuloServicio;
     _listaPrecioServicio       = listaPrecioServicio;
     _proveedorServicio         = proveedorServicio;
     comprobante = new ComprobanteCompraDto();
 }
Exemple #4
0
 private async void Detalles(ComprobanteCompraDto obj)
 {
     if (obj != null)
     {
         AbrirDetalle = true;
         Detalle      = new ObservableCollection <DetalleComprobanteDto>(await ApiProcessor.GetApi <DetalleComprobanteDto[]>($"DetalleComprobante/GetByComprobante/{obj.Id}"));
         Subtotal     = Detalle.Sum(x => x.SubTotal);
     }
 }
Exemple #5
0
 private void CargarComprobante(ComprobanteCompraDto obj)
 {
     if (obj.Proveedor != null)
     {
         Operacion.DePara = $"{obj.CUIT} - { obj.Proveedor.RazonSocial}";
     }
     else
     {
         Operacion.DePara = obj.CUIT;
     }
     Subtotal = obj.Total;
 }
Exemple #6
0
 private void Compra(ComprobanteCompraDto obj)
 {
     if (obj.Proveedor != null)
     {
         ChequeSalida.PagueseA = obj.Proveedor.RazonSocial;
     }
     else
     {
         ChequeSalida.PagueseA = obj.cuit;
     }
     ChequeSalida.Monto = obj.Total;
 }
 public CompraInsumosViewModel(IRegionManager regionManager)
 {
     this.regionManager = regionManager;
     Disminuir          = new DelegateCommand(DisminuirMaterial);
     Buscar             = new DelegateCommand(Buscando);
     Salir               = new DelegateCommand(SalirCompra);
     CrearCommand        = new DelegateCommand(GenerarComprobante);
     Agregar             = new DelegateCommand(AgregarProducto, () => ObjetoNull.IsNull(Material)).ObservesProperty(() => Material);
     Comprar             = new DelegateCommand(ComprarProducto);
     DetallesComprobante = new ObservableCollection <DetalleComprobanteDto>();
     Material            = null;
     Comprobante         = new ComprobanteCompraDto();
     QuitarProducto      = new DelegateCommand(Quitar);
 }
 private void Pago(ComprobanteCompraDto obj)
 {
     if (obj != null)
     {
         if (!obj.Pagado)
         {
             ComprobanteCompraDto = obj;
             Resumen = true;
         }
         else
         {
             MessageBox.Show("Comprobante ya pagado");
         }
     }
 }
 public async Task Modificar(ComprobanteCompraDto dto)
 {
     using (var context = new DataContext())
     {
         var comprobanteCompra = context.ComprobanteCompras.FirstOrDefault(x => x.Id == dto.Id);
         comprobanteCompra.Descripcion  = dto.Descripcion;
         comprobanteCompra.NumeroCompra = dto.NumeroCompra;
         comprobanteCompra.Monto        = dto.Monto;
         comprobanteCompra.Iva          = dto.Iva;
         comprobanteCompra.Pagando      = dto.Pagando;
         comprobanteCompra.ObraId       = dto.ObraId;
         comprobanteCompra.Percepciones = dto.Percepciones;
         comprobanteCompra.ProveedorId  = dto.ProveedorId;
         comprobanteCompra.TipoPago     = dto.TipoPago;
         comprobanteCompra.Recargos     = dto.Recargos;
         comprobanteCompra.Retenciones  = dto.Retenciones;
         comprobanteCompra.Fecha        = dto.Fecha;
         comprobanteCompra.Pagado       = dto.Pagado;
         comprobanteCompra.EstadoCompra = dto.EstadoCompra;
         await _comprobanteCompraRepositorio.Update(comprobanteCompra);
     }
 }
 private void Compra(ComprobanteCompraDto obj)
 {
     Subtotal = obj.Total;
 }
 public FormaPagoCompra(ComprobanteCompraDto comprobante) : this(new CuentaCorrienteServicio(), new FormaPagoServicio(), new DetalleCajaServicio(), new ComprobanteCompraServicio())
 {
     _comprobante = comprobante;
     SetTotal(_comprobante.Total);
 }
        public void CerrarComprobanteCompra(ComprobanteCompraDto comprobante)
        {
            using (var context = new ModeloXCommerceContainer())
            {
                ArticuloServicio art = new ArticuloServicio();
                //DetalleComprobante
                var Comprobante = context.Comprobantes.OfType <AccesoDatos.ComprobanteCompra>().FirstOrDefault(x => x.Id == comprobante.Id);
                Comprobante.TipoComprobante = comprobante.TipoComprobante;
                foreach (var item in comprobante.Items)
                {
                    var articulo = art.ObtenerPorId(item.ArticuloId);
                    articulo.Stock += item.Cantidad;
                    art.Modificar(articulo);
                }
                Comprobante.DetalleComprobantes = comprobante.Items.Select(x => new AccesoDatos.DetalleComprobante
                {
                    ArticuloId     = x.ArticuloId,
                    Cantidad       = x.Cantidad,
                    ComprobanteId  = comprobante.Id,
                    PrecioUnitario = x.PrecioUnitario,
                    SubTotal       = x.SubTotal,
                    Descripcion    = x.Descripcion,
                    Codigo         = x.CodigoProducto
                }).ToList();
                context.SaveChanges();
                //Movimiento
                MovimientoServicio m  = new MovimientoServicio();
                FormaPagoServicio  fp = new FormaPagoServicio();

                if (comprobante.MontoEfectivo > 0)
                {
                    //GENERAR MOVIMIENTO
                    m.GenerarMovimiento(new MovimientoDto
                    {
                        CajaId        = Entidad.Entidad.CajaId,
                        ComprobanteId = Comprobante.Id,
                        Fecha         = DateTime.Now,
                        Monto         = comprobante.MontoEfectivo,
                        TipoMovimento = TipoMovimiento.Egreso,
                        Descripcion   = $"FC_{Comprobante.TipoComprobante}_{Comprobante.Numero.ToString("0000")}_{Comprobante.Fecha.ToString("ddmmyyyy")}",
                        UsuarioId     = Entidad.Entidad.UsuarioId
                    });
                }

                //if (dto.MontoCtaCte > 0)
                //{
                //    //CUENTA CORRIENTE NO GENERA DETALLE DE CAJA AL INSTANTE(DEBE PAGAR PARA GENERARLO)
                //    CuentaCorrienteServicio cta = new CuentaCorrienteServicio();
                //    cta.Vender(comprobante.ClienteId, comprobante.Total);
                //    OperacionServicio op = new OperacionServicio();
                //    op.Agregar(new OperacionDto
                //    {
                //        TipoOperacion = TipoOperacion.Venta,
                //        ComprobanteId = comprobante.Id,
                //        Fecha = DateTime.Now,
                //        Monto = dto.MontoCtaCte,
                //        CuentaCorrienteId = cta.ObtenerCorrientePorClienteId(comprobante.ClienteId).Id
                //    });
                //    //GENERAR MOVIMIENTO
                //    m.GenerarMovimiento(new MovimientoDto
                //    {
                //        CajaId = Entidad.Entidad.CajaId,
                //        ComprobanteId = comprobante.Id,
                //        Fecha = DateTime.Now,
                //        Monto = dto.MontoCtaCte,
                //        TipoMovimento = TipoMovimiento.Egreso,
                //        Descripcion = $"CC_{comprobante.TipoComprobante}_{comprobante.Numero.ToString("0000")}_{comprobante.Fecha.ToString("ddmmyyyy")}",
                //        UsuarioId = Entidad.Entidad.UsuarioId
                //    });
                //}

                if (comprobante.MontoTarjeta > 0)
                {
                    m.GenerarMovimiento(new MovimientoDto
                    {
                        CajaId        = Entidad.Entidad.CajaId,
                        ComprobanteId = Comprobante.Id,
                        Fecha         = DateTime.Now,
                        Monto         = comprobante.MontoTarjeta,
                        TipoMovimento = TipoMovimiento.Egreso,
                        Descripcion   = $"TC_{Comprobante.TipoComprobante}_{Comprobante.Numero.ToString("0000")}_{Comprobante.Fecha.ToString("ddmmyyyy")}",
                        UsuarioId     = Entidad.Entidad.UsuarioId
                    });
                }

                if (comprobante.MontoCheque > 0)
                {
                    m.GenerarMovimiento(new MovimientoDto
                    {
                        CajaId        = Entidad.Entidad.CajaId,
                        ComprobanteId = Comprobante.Id,
                        Fecha         = DateTime.Now,
                        Monto         = comprobante.MontoCheque,
                        TipoMovimento = TipoMovimiento.Egreso,
                        Descripcion   = $"CH_{Comprobante.TipoComprobante}_{Comprobante.Numero.ToString("0000")}_{Comprobante.Fecha.ToString("ddmmyyyy")}",
                        UsuarioId     = Entidad.Entidad.UsuarioId
                    });
                }
            }
        }