public async Task ActualizarInvetario(MovimientoDto movimiento) { Inventario inventarioActualizar = _datosMock.InventarioLista.FirstOrDefault(f => f.BodegaId == movimiento.Bodega.Id && f.ProductoId == movimiento.Producto.Id); if (inventarioActualizar == null) { inventarioActualizar = new Inventario { Id = Guid.NewGuid(), BodegaId = movimiento.Bodega.Id, ProductoId = movimiento.Producto.Id, Cantidad = movimiento.Cantidad, ValorAcumulado = movimiento.Valor, Creacion = DateTime.Now, UltimaModificacion = null }; _datosMock.InventarioLista.Add(inventarioActualizar); } else { switch (movimiento.Tipo) { case TipoMovimiento.Ingreso: inventarioActualizar.Cantidad += movimiento.Cantidad; inventarioActualizar.ValorAcumulado += movimiento.Valor; break; case TipoMovimiento.Salida: inventarioActualizar.Cantidad -= movimiento.Cantidad; inventarioActualizar.ValorAcumulado -= movimiento.Valor; break; } inventarioActualizar.UltimaModificacion = DateTime.Now; } }
public void RealizarMovimiento(MovimientoDto movimiento) { using (var context = new ModeloXCommerceContainer()) { var cajaActualizar = context.Cajas.OfType <AccesoDatos.Caja>() .FirstOrDefault(x => x.Id == movimiento.CajaId); if (cajaActualizar == null) { throw new Exception("No se encontro la caja"); } if (movimiento.TipoMovimiento == TipoMovimiento.Ingreso) { cajaActualizar.MontoSistema += movimiento.Monto; } else { cajaActualizar.MontoSistema -= movimiento.Monto; } GenerarDetalleCaja(movimiento); context.SaveChanges(); } }
public async Task Insertar(MovimientoDto dto) { using (var context = new DataContext()) { var movimiento = _mapper.Map <Dominio.Entidades.Movimiento>(dto); await _movimientoRepositorio.Create(movimiento); } }
public static MovimientoDto FindMovimiento(string desc) { var movimiento = ActiveRecordBase<MovimientoDto> .FindAllByProperty("Descripccion", desc); if (movimiento.Length > 0) return movimiento[0]; var nuevo = new MovimientoDto(desc); nuevo.Save(); return nuevo; }
private static Movimientos CrearEntidad(MovimientoDto dto) { return(new Movimientos { Id = dto.Id, Bodega = BodegaMapeo.Convertir(dto.Bodega), Producto = ProductoMapeo.Convertir(dto.Producto), FechaMovimiento = dto.FechaMovimiento, Cantidad = dto.Cantidad, Tipo = dto.Tipo, Valor = dto.Valor }); }
public static MovimientoDto FindMovimiento(string desc) { var movimiento = ActiveRecordBase <MovimientoDto> .FindAllByProperty("Descripccion", desc); if (movimiento.Length > 0) { return(movimiento[0]); } var nuevo = new MovimientoDto(desc); nuevo.Save(); return(nuevo); }
public void NuevoMovimiento(MovimientoDto movimientoEgreso) { var movimiento = new Movimiento { Descripcion = movimientoEgreso.Descripcion, EmpleadoId = movimientoEgreso.EmpleadoId, FechaActualizacion = movimientoEgreso.FechaActualizacion, TipoMovimiento = movimientoEgreso.TipoMovimiento, Monto = movimientoEgreso.Monto }; _movimientoServicio.Agregar(movimiento); _movimientoServicio.Guardar(); }
public async Task Modificar(MovimientoDto dto) { using (var context = new DataContext()) { var movimiento = context.Movimientos.FirstOrDefault(x => x.Id == dto.Id); movimiento.ComprobanteId = dto.ComprobanteId; movimiento.CajaId = dto.CajaId; movimiento.UsuarioId = dto.UsuarioId; movimiento.FechaMovimiento = dto.FechaMovimiento; movimiento.Monto = dto.Monto; movimiento.Descripcion = dto.Descripcion; movimiento.TipoMovimento = dto.TipoMovimento; await _movimientoRepositorio.Update(movimiento); } }
public void GenerarDetalleCaja(MovimientoDto movimiento) { using (var context = new ModeloXCommerceContainer()) { var nuevoDetalleCaja = new AccesoDatos.DetalleCaja() { CajaId = movimiento.CajaId, Monto = movimiento.Monto, TipoPago = TipoPago.Efectivo }; context.DetalleCajas.Add(nuevoDetalleCaja); context.SaveChanges(); } }
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 void GenerarMovimiento(MovimientoDto movimiento) { using (var context = new ModeloXCommerceContainer()) { var movi = context.Movimientos.Add(new AccesoDatos.Movimiento { CajaId = movimiento.CajaId, ComprobanteId = movimiento.ComprobanteId, Descripcion = movimiento.Descripcion, Fecha = movimiento.Fecha, Monto = movimiento.Monto, UsuarioId = movimiento.UsuarioId, TipoMovimento = movimiento.TipoMovimento }); context.Movimientos.Add(movi); context.SaveChanges(); } }
public async Task <MovimientoDto> GuardarMovimiento(MovimientoDto movimiento) { Movimientos movimientoGuardar = new Movimientos { Id = movimiento.Id, BodegaId = movimiento.Bodega.Id, ProductoId = movimiento.Producto.Id, FechaMovimiento = movimiento.FechaMovimiento, Cantidad = movimiento.Cantidad, Tipo = movimiento.Tipo, Valor = movimiento.Valor }; _datosMock.listaMovimientos.Add(movimientoGuardar); Movimientos movimientoCreado = _datosMock.listaMovimientos.FirstOrDefault(f => f.Id == movimiento.Id); movimientoCreado.Bodega = BodegaMapeo.Convertir(movimiento.Bodega); movimientoCreado.Producto = ProductoMapeo.Convertir(movimiento.Producto); return(await Task.FromResult(MovimientoMapeo.Convertir(movimientoCreado))); }
public async Task <MovimientoDto> GuardarMovimiento(MovimientoDto movimiento) { Movimientos movimientoGuardar = new Movimientos { Id = movimiento.Id, BodegaId = movimiento.Bodega.Id, ProductoId = movimiento.Producto.Id, FechaMovimiento = movimiento.FechaMovimiento, Cantidad = movimiento.Cantidad, Tipo = movimiento.Tipo, Valor = movimiento.Valor }; _contexto.Movimientos.Add(movimientoGuardar); await _contexto.SaveChangesAsync(); Movimientos movimientoCreado = await _contexto.Movimientos.FirstOrDefaultAsync(f => f.Id == movimiento.Id); return(MovimientoMapeo.Convertir(movimientoCreado)); }
public long Insertar(MovimientoDto dto) { using (var context = new ModeloXCommerceContainer()) { var nuevoMoviento = new AccesoDatos.Movimiento { CajaId = dto.CajaId, ComprobanteId = dto.ComprobanteId, TipoMovimento = dto.TipoMovimiento, UsuarioId = (long)dto.UsuarioId, Monto = dto.Monto, Fecha = dto.Fecha, Descripcion = dto.Descripcion }; context.Movimientos.Add(nuevoMoviento); context.SaveChanges(); return(nuevoMoviento.Id); } }
public void Modificar(MovimientoDto dto) { using (var context = new ModeloXCommerceContainer()) { var movimientoModificar = context.Movimientos .FirstOrDefault(x => x.Id == dto.Id); if (movimientoModificar == null) { throw new Exception("No se encontro el Movimiento"); } movimientoModificar.CajaId = CajaAbiertaId; movimientoModificar.ComprobanteId = dto.ComprobanteId; movimientoModificar.TipoMovimento = dto.TipoMovimiento; movimientoModificar.UsuarioId = (long)dto.UsuarioId; movimientoModificar.Monto = dto.Monto; movimientoModificar.Fecha = dto.Fecha; movimientoModificar.Descripcion = dto.Descripcion; context.SaveChanges(); } }
public static Movimientos Convertir(MovimientoDto entidad) { return(CrearEntidad(entidad)); }
private void BtnCobrar_Click(object sender, EventArgs e) { if (dgvGrilla.DataSource == null) { MessageBox.Show(@"No hay Productos Cargados.", @"Atención", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if ((TipoFormaPago)cmbFormaPago.SelectedItem == TipoFormaPago.Efectivo) { var ultimoComprobante = _comprobanteKioskoServicio.UltimoComprobanteId(); var caja = _cajaServicio.Obtener(CajaAbiertaId).Id; var ClienteId = _clienteServicio.ObtenerPorDni(txtClienteDni.Text).Id; var fecha = dtpFecha.Value; var comprobante = new ComprobanteKioskoDto { Numero = (int)ultimoComprobante, Fecha = fecha, SubTotal = nudSubTotal.Value, Descuento = nudDescuento.Value, Total = nudTotal.Value, UsuarioId = (long)UsuarioLogueadoId, ClienteId = ClienteId, TipoComprobante = (TipoComprobante)cmbTipoComprobante.SelectedItem, Items = _listaDetalles }; _comprobanteKioskoServicio.GenerarComprobante(comprobante, caja); var traerComprobante = _comprobanteKioskoServicio.traerComprobantePorNumero(comprobante.Numero); var nuevoMovimiento = new MovimientoDto { CajaId = caja, ComprobanteId = traerComprobante.Id, TipoMovimiento = TipoMovimiento.Ingreso, UsuarioId = UsuarioLogueadoId, Monto = nudTotal.Value, Fecha = dtpFecha.Value, Descripcion = "FAC_" + cmbTipoComprobante.Text + "_" + $"{_comprobanteKioskoServicio.UltimoComprobanteId()}" + "_" + DateTime.Now.ToShortDateString().Replace("/", string.Empty) + "_KIOSCO" }; _movimientoServicio.Insertar(nuevoMovimiento); _cajaServicio.RealizarMovimiento(nuevoMovimiento); foreach (var items in _comprobanteKioskoDto.Items) { //descontar stock _articuloServicio.DescontarStock(items.ProductoId, items.Cantidad); } MessageBox.Show("Facturacion Realizada Correctamente", "Informacion", MessageBoxButtons.OK, MessageBoxIcon.Information); LimpiarFormulario(); } }
public async Task <Resultado <MovimientoDto> > CargarProducto(MovimientoRequest movimiento) { List <string> errores = new List <string>(); Guid bodegaId; Guid productoId; BodegaDto bodega = null; ProductoDto producto = null; if (Guid.TryParse(movimiento.BodegaId, out bodegaId)) { bodega = await _repositorioBodega.BuscarBodega(bodegaId); if (bodega == null) { errores.Add($"La bodega con Id {movimiento.BodegaId} no esta en el sistema"); } } else { errores.Add("La Id de la bodega no tiene el formato correcto"); } if (Guid.TryParse(movimiento.ProductoId, out productoId)) { producto = await _repositorioProducto.BuscarProducto(productoId); if (producto == null) { errores.Add($"El producto con Id {movimiento.ProductoId} no esta en el sistema"); } } else { errores.Add("La Id del producto no tiene el formato correcto"); } if (movimiento.Cantidad <= 0) { errores.Add("La cantidad debe ser mayor a 0"); } if (movimiento.Valor <= 0) { errores.Add("El valor debe ser mayor a 0"); } if (errores.Count > 0) { return(Resultado <MovimientoDto> .Failure(errores)); } InventarioDto inventario = await _repositorioInventario.ObtenerInventario(bodega.Id, producto.Id); int capacidadDisponible = 0; if (inventario != null) { capacidadDisponible = bodega.CapacidadMaxima - inventario.Cantidad; } else { capacidadDisponible = bodega.CapacidadMaxima; } if (movimiento.Cantidad > capacidadDisponible) { return(Resultado <MovimientoDto> .Failure("La cantidad de producto a ingresar supera el maximo de productos totales permitido en la bodega")); } MovimientoDto movimientoCrear = new MovimientoDto { Id = Guid.NewGuid(), FechaMovimiento = DateTime.Now, Bodega = bodega, Producto = producto, Cantidad = movimiento.Cantidad, Valor = movimiento.Valor, Tipo = TipoMovimiento.Ingreso }; MovimientoDto movimientoCreado = await _repositorioInventario.GuardarMovimiento(movimientoCrear); if (movimientoCreado != null) { await _repositorioInventario.ActualizarInvetario(movimientoCreado); return(Resultado <MovimientoDto> .Success(movimientoCreado)); } else { errores.Add("Se ha presnetado un problema al guardar el movimiento"); return(Resultado <MovimientoDto> .Failure(errores)); } }
private void BtnCobrar_Click_1(object sender, EventArgs e) { var _cliente = _clienteServicio.ObtenerPorDni("99999999"); //---------------------------------------------------------// //---------------------------------------------------------// var ObtenerComprobante = _comprobanteSalonServicio.ObtenerComprobantePorId(_comprobanteId); var FacturacionMesa = new ComprobanteCierreDto { Id = ObtenerComprobante.ComprobanteId, MesaId = ObtenerComprobante.MesaId, UsuarioId = UsuarioLogueadoId, ClienteId = _cliente.Id, Descuento = nudDescuento.Value, Fecha = dtpFechaFactura.Value, Numero = (int)nudNumero.Value, TipoDeComprobante = ((TipoComprobante)cmbTipoComprobante.SelectedItem), EstadoComprobante = EstadoComprobanteSalon.Enviado, Total = nudTotal.Value, SubTotal = nudTotal.Value, MozoId = ObtenerComprobante.MozoId, Comensales = ObtenerComprobante.Comensales, }; var Cliente = _clienteServicio.ObtenerPorDni(txtDni.Text); if (Cliente == null) { MessageBox.Show("Por favor seleccione un medio de pago o un cliente valido", "Atencion", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } txtApyNom.Text = Cliente.ApyNom; nudMontoActual.Value = Cliente.MontoMaximoCtaCte; if (nudTotal.Value > 0) { if (RadioCuentaCorriente.Checked) { Cliente.MontoDeudaCtaCte += nudTotal.Value; nudMontoRestar.Value = nudTotal.Value; if (Cliente.MontoDeudaCtaCte <= Cliente.MontoMaximoCtaCte) { RestanteCuentaCorriente.Value = Cliente.MontoMaximoCtaCte - nudTotal.Value; var ClienteModificar = new ClienteDto() { Id = Cliente.Id, MontoDeudaCtaCte = Cliente.MontoDeudaCtaCte, MontoMaximoCtaCte = Cliente.MontoMaximoCtaCte }; _clienteServicio.ModificarCuentaCorriente(ClienteModificar); _comprobanteSalonServicio.GenerarComprobanteCierre(FacturacionMesa); var nuevoMovimiento = new MovimientoDto() { CajaId = CajaAbiertaId, ComprobanteId = FacturacionMesa.Id, TipoMovimiento = TipoMovimiento.Ingreso, UsuarioId = FacturacionMesa.UsuarioId, Monto = FacturacionMesa.Total, Fecha = FacturacionMesa.Fecha, Descripcion = "FAC_" + FacturacionMesa.TipoDeComprobante + "_" + FacturacionMesa.Numero + "_" + FacturacionMesa.Fecha.ToShortDateString().Replace("/", string.Empty) + "_SALON" }; _movimientoServicio.Insertar(nuevoMovimiento); _cajaServicio.ActualizarMontoDelSistema(nuevoMovimiento.Monto, nuevoMovimiento.CajaId); var nuevoDetalle = new DetalleCajaDto() { CajaId = CajaAbiertaId, Monto = FacturacionMesa.Total, FormaPago = TipoPago.CtaCte }; _detalleCajaServicio.InsertarDetalle(nuevoDetalle); MessageBox.Show(@"Operacion realizada con Exito.", @"Atención", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); this.Close(); } else { MessageBox.Show(@"Monto Cuenta Corriente Insuficiente , seleccione otra forma de pago", @"Atención", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } else { _comprobanteSalonServicio.GenerarComprobanteCierre(FacturacionMesa); var nuevoMovimiento = new MovimientoDto() { CajaId = CajaAbiertaId, ComprobanteId = FacturacionMesa.Id, TipoMovimiento = TipoMovimiento.Ingreso, UsuarioId = FacturacionMesa.UsuarioId, Monto = FacturacionMesa.Total, Fecha = FacturacionMesa.Fecha, Descripcion = "FAC_" + FacturacionMesa.TipoDeComprobante + "_" + FacturacionMesa.Numero + "_" + FacturacionMesa.Fecha.ToShortDateString().Replace("/", string.Empty) + "_SALON" }; _movimientoServicio.Insertar(nuevoMovimiento); _cajaServicio.ActualizarMontoDelSistema(nuevoMovimiento.Monto, nuevoMovimiento.CajaId); var nuevoDetalle = new DetalleCajaDto() { CajaId = CajaAbiertaId, Monto = FacturacionMesa.Total, FormaPago = TipoPago.Efectivo }; _detalleCajaServicio.InsertarDetalle(nuevoDetalle); MessageBox.Show(@"Operacion realizada con Exito.", @"Atención", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); _mesaServicio.CambiarEstado(_mesaId, EstadoMesa.Cerrada); this.Close(); } } else { MessageBox.Show("Por favor ingrese un articulo.", "Atencion", MessageBoxButtons.OK, MessageBoxIcon.Error); _mesaServicio.CambiarEstado(_mesaId, EstadoMesa.Abierta); } }