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 long CerrarKiosco(ComprobanteKioscoDto kiosco, TipoComprobante tipo) { using (var context = new ModeloXCommerceContainer()) { //GENERO DETALLE DE CAJA var cfId = context.Personas.OfType <Cliente>().FirstOrDefault(x => x.Dni == "99999999").Id; if (cfId == null) { throw new Exception("Falta consumidor final"); } var comp = new ComprobanteFactura { ClienteId = cfId, Descuento = kiosco.Descuento, Fecha = DateTime.Now, Numero = NumeroDeComprobante.UltimoNumeroComprobante(), TipoComprobante = tipo, UsuarioId = Entidad.Entidad.UsuarioId, SubTotal = kiosco.SubTotal, Total = kiosco.Total, DetalleComprobantes = new List <DetalleComprobante>() }; context.Comprobantes.Add(comp); var list = new List <DetalleComprobante>(); foreach (var items in kiosco.Items) { var detComp = new DetalleComprobante { ComprobanteId = comp.Id, SubTotal = items.SubTotal, Codigo = items.CodigoProducto, Cantidad = items.Cantidad, PrecioUnitario = items.PrecioUnitario, Descripcion = items.Descripcion, ArticuloId = items.ArticuloId }; list.Add(detComp); context.DetalleComprobantes.Add(detComp); } comp.DetalleComprobantes = list; context.SaveChanges(); //GENERAR MOVIMIENTO MovimientoServicio m = new MovimientoServicio(); m.GenerarMovimiento(new MovimientoDto { CajaId = Entidad.Entidad.CajaId, ComprobanteId = comp.Id, Fecha = DateTime.Now, Monto = kiosco.Total, TipoMovimento = TipoMovimiento.Ingreso, UsuarioId = Entidad.Entidad.UsuarioId, Descripcion = $"FC_{comp.TipoComprobante}_{comp.Numero.ToString("0000")}_{comp.Fecha.ToString("ddmmyyyy")}" }); return(comp.Id); } }
public void GenerarComprobante(DeliveryDto dto) { using (var context = new ModeloXCommerceContainer()) { if (dto == null) { throw new Exception("Comprobante null"); } long direccion = dto.DireccionId; if (dto.DireccionId == 0) { direccion = context.Direcciones.FirstOrDefault(x => x.Persona.Id == dto.ClienteId).Id; } var comprobante = new ComprobanteDelivery { CadeteId = dto.CadeteId, ClienteId = dto.ClienteId, EstadoPedido = EstadoPedido.Pendiente, Numero = NumeroDeComprobante.UltimoNumeroComprobante(), Fecha = DateTime.Now, SubTotal = dto.SubTotal, Descuento = dto.Descuento, Total = dto.Total, UsuarioId = Entidad.Entidad.UsuarioId, TipoComprobante = TipoComprobante.X, DireccionId = direccion, TipoPedido = TipoPedido.Telefono, DetalleComprobantes = new List <AccesoDatos.DetalleComprobante>() }; foreach (var x in dto.Items) { var detalle = new AccesoDatos.DetalleComprobante() { Cantidad = x.Cantidad, Codigo = x.CodigoProducto, Descripcion = x.Descripcion, PrecioUnitario = x.PrecioUnitario, ArticuloId = x.ArticuloId, SubTotal = x.SubTotal, ComprobanteId = dto.Id }; comprobante.DetalleComprobantes.Add(detalle); } context.Comprobantes.Add(comprobante); context.SaveChanges(); } }
public void EditarComprobante(DeliveryDto dto) { using (var context = new ModeloXCommerceContainer()) { if (dto == null) { throw new Exception("Comprobante null"); } var comprobante = context.Comprobantes.OfType <AccesoDatos.ComprobanteDelivery>().FirstOrDefault(x => x.Id == dto.Id); comprobante.CadeteId = dto.CadeteId; comprobante.ClienteId = dto.ClienteId; comprobante.EstadoPedido = EstadoPedido.Pendiente; comprobante.Numero = NumeroDeComprobante.UltimoNumeroComprobante(); comprobante.Fecha = DateTime.Now; comprobante.SubTotal = dto.SubTotal; comprobante.Descuento = dto.Descuento; comprobante.Total = dto.Total; comprobante.UsuarioId = Entidad.Entidad.UsuarioId; comprobante.TipoComprobante = TipoComprobante.C; comprobante.DireccionId = dto.DireccionId; comprobante.TipoPedido = TipoPedido.Telefono; context.DetalleComprobantes.RemoveRange(context.DetalleComprobantes.Where(x => x.ComprobanteId == comprobante.Id)); comprobante.DetalleComprobantes = dto.Items.Select(item => new AccesoDatos.DetalleComprobante { Cantidad = item.Cantidad, Codigo = item.CodigoProducto, Descripcion = item.Descripcion, ComprobanteId = dto.Id, PrecioUnitario = item.PrecioUnitario, SubTotal = item.SubTotal, ArticuloId = item.ArticuloId }).ToList(); context.SaveChanges(); } }
public void CerrarMesa (ComprobanteMesaDto Comprobante, TipoComprobante tipoComprobante) { using (var context = new ModeloXCommerceContainer()) { if (Comprobante.Total == 0) { var mesaCero = context.Mesas.FirstOrDefault(x => x.Id == Comprobante.MesaId); if (mesaCero == null) { throw new Exception("no se encontro la entidad"); } mesaCero.EstadoMesa = EstadoMesa.Cerrada; var comprobanteCero = context.Comprobantes.OfType <ComprobanteSalon>().FirstOrDefault(x => x.MesaId == Comprobante.MesaId && x.EstadoComprobante == EstadoComprobanteSalon.Proceso); comprobanteCero.EstadoComprobante = EstadoComprobanteSalon.Finalizado; context.SaveChanges(); return; } //CAMBIAR ESTADO MESA var mesa = context.Mesas.FirstOrDefault(x => x.Id == Comprobante.MesaId); if (mesa == null) { throw new Exception("no se encontro la entidad"); } mesa.EstadoMesa = EstadoMesa.Cerrada; //CAMBIAR ESTADO COMPROBANTE var comprobante = context.Comprobantes.OfType <ComprobanteSalon>().FirstOrDefault(x => x.MesaId == Comprobante.MesaId && x.EstadoComprobante == EstadoComprobanteSalon.Proceso); comprobante.Numero = NumeroDeComprobante.UltimoNumeroComprobante(); comprobante.TipoComprobante = tipoComprobante; comprobante.SubTotal = Comprobante.SubTotal; comprobante.Descuento = Comprobante.Descuento; comprobante.Total = Comprobante.Total; comprobante.EstadoComprobante = EstadoComprobanteSalon.Finalizado; comprobante.TipoComprobante = Comprobante.TipoComprobante; 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.Ingreso, Descripcion = $"FC_{comprobante.TipoComprobante}_{comprobante.Numero.ToString("0000")}_{comprobante.Fecha.ToString("ddmmyyyy")}", UsuarioId = Entidad.Entidad.UsuarioId }); } if (Comprobante.MontoCtaCte > 0) { //GENERAR MOVIMIENTO m.GenerarMovimiento(new MovimientoDto { CajaId = Entidad.Entidad.CajaId, ComprobanteId = comprobante.Id, Fecha = DateTime.Now, Monto = Comprobante.MontoCtaCte, TipoMovimento = TipoMovimiento.Ingreso, 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.Ingreso, 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.Ingreso, Descripcion = $"CH_{comprobante.TipoComprobante}_{comprobante.Numero.ToString("0000")}_{comprobante.Fecha.ToString("ddmmyyyy")}", UsuarioId = Entidad.Entidad.UsuarioId }); } context.SaveChanges(); } }