public async Task Insertar(DetalleComprobanteDto dto)
 {
     using (var context = new DataContext())
     {
         var detalleComprobante = _mapper.Map <Dominio.Entidades.DetalleComprobante>(dto);
         await _detalleComprobanteRepositorio.Create(detalleComprobante);
     }
 }
コード例 #2
0
        private void AgregarArticulo()
        {
            var articulo = _articuloServicio.ObtenerProductoPorCodigo(txtCodigos.Text, _listaId);

            if (articulo != null)
            {
                if (articulo.PrecioCosto != null)
                {
                    txtDescripcion.Text = articulo.Descripcion;
                    txtPrecio.Text      = articulo.Precio.ToString();


                    var _articulo = new DetalleComprobanteDto
                    {
                        ArticuloId     = articulo.Id,
                        CodigoProducto = articulo.CodigoBarra,
                        Descripcion    = articulo.Descripcion,
                        Cantidad       = nudCantidad.Value,
                        PrecioUnitario = (decimal)articulo.PrecioCosto,
                    };


                    if (!comprobante.Items.Any(x =>
                                               x.Descripcion == _articulo.Descripcion &&
                                               x.CodigoProducto == _articulo.CodigoProducto))
                    {
                        comprobante.Items.Add(_articulo);
                    }
                    else
                    {
                        var articuloASumar = comprobante.Items
                                             .FirstOrDefault(x => x.ArticuloId == _articulo.ArticuloId);
                        articuloASumar.Cantidad += _articulo.Cantidad;
                    }


                    ActualizarGrilla();
                }
                else
                {
                    MessageBox.Show($"No se pudo agregar el producto: '{articulo.Descripcion}' ya que carece de precio en este salon",
                                    "Atencion", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
            }
            else
            {
                var fBuscar = new _10111_BuscarArticulo(_listaId);
                fBuscar.ShowDialog();
                if (fBuscar.RealizoOperacion)
                {
                    txtDescripcion.Text = fBuscar.Descripcion;
                    txtCodigos.Text     = fBuscar.Codigo;
                    txtPrecio.Text      = fBuscar.Precio;
                }
            }
        }
コード例 #3
0
 private void gridConObservaciones_SelectionChanged(object sender, EventArgs e)
 {
     if (gridConObservaciones.SelectedRows.Count > 0)
     {
         // mostrar observaciones asociadas
         DetalleComprobanteDto cbteDto = this.gridConObservaciones.SelectedRows[0].DataBoundItem as DetalleComprobanteDto;
         this.bsObservaciones.DataSource   = cbteDto.Observaciones;
         this.gridObservaciones.DataSource = this.bsObservaciones;
     }
 }
コード例 #4
0
        private static DetalleComprobanteDto ToDetalleComprobanteDto(DetalleComprobante detalleComprobante, List <TipoDocumento> tiposDoc, List <TipoConcepto> tiposConcepto)
        {
            if (detalleComprobante == null)
            {
                return(null);
            }

            DetalleComprobanteDto dto = new DetalleComprobanteDto();

            dto.Id        = detalleComprobante.Id;
            dto.CbteFecha = detalleComprobante.CbteFch;
            dto.CbteDesde = detalleComprobante.CbteDesde;
            dto.CbteHasta = detalleComprobante.CbteHasta;
            dto.Concepto  = detalleComprobante.Concepto;
            dto.DocNro    = detalleComprobante.DocNro;
            dto.DocTipo   = detalleComprobante.DocTipo;
            StringBuilder sbDocTipo = new StringBuilder();

            sbDocTipo.Append(detalleComprobante.DocTipo.ToString());
            if (tiposDoc != null)
            {
                TipoDocumento tipoDoc = tiposDoc.Where(d => d.CodigoAfip == detalleComprobante.DocTipo).FirstOrDefault();
                if (tipoDoc != null)
                {
                    sbDocTipo.AppendFormat(" ({0}) ", tipoDoc.Descripcion);
                }
            }
            dto.DocTipoDesc = sbDocTipo.ToString();

            StringBuilder sbConcepto = new StringBuilder();

            sbConcepto.Append(detalleComprobante.Concepto.ToString());
            if (tiposConcepto != null)
            {
                TipoConcepto tipoConcepto = tiposConcepto.Where(c => c.Id == detalleComprobante.Concepto).FirstOrDefault();
                if (tipoConcepto != null)
                {
                    sbConcepto.AppendFormat(" - {0} ", tipoConcepto.Descripcion);
                }
            }
            dto.ConceptoDesc = sbConcepto.ToString();


            if (detalleComprobante.Resultado == ResultadoCbte.Aprobado)
            {
                dto.CAE         = detalleComprobante.CAE;
                dto.CAEFechaVto = (DateTime)detalleComprobante.CAEFchVto;
            }
            if (detalleComprobante.Resultado == ResultadoCbte.Rechazado)
            {
                dto.Observaciones = ToObservacionComprobateDtoList(detalleComprobante.ObservacionComprobantes.ToList());
            }

            return(dto);
        }
 public async Task Modificar(DetalleComprobanteDto dto)
 {
     using (var context = new DataContext())
     {
         var detalleComprobante = context.DetalleComprobantes.FirstOrDefault(x => x.Id == dto.Id);
         detalleComprobante.Descripcion    = dto.Descripcion;
         detalleComprobante.Codigo         = dto.Codigo;
         detalleComprobante.Cantidad       = dto.Cantidad;
         detalleComprobante.ComprobanteId  = dto.ComprobanteId;
         detalleComprobante.PrecioUnitario = dto.PrecioUnitario;
         detalleComprobante.SubTotal       = dto.SubTotal;
         await _detalleComprobanteRepositorio.Update(detalleComprobante);
     }
 }
コード例 #6
0
 public void AgregarProducto(DetalleComprobanteDto _articulo, long articuloId)
 {
     using (var context = new ModeloXCommerceContainer())
     {
         var articulos = context.Articulos.FirstOrDefault(x => x.Id == articuloId);
         if (articulos == null)
         {
             throw new Exception("No se encontro la entidad");
         }
         if (articulos.DescuentaStock)
         {
             articulos.Stock -= _articulo.Cantidad;
         }
         context.SaveChanges();
     }
 }
コード例 #7
0
 public _10013_EliminarProductos(DetalleComprobanteDto detalleComprobanteDto) : this()
 {
     _detalleComprobanteDto = detalleComprobanteDto;
     nudDisminuir.Maximum   = _detalleComprobanteDto.Cantidad;
 }
コード例 #8
0
        private void AgregarArticulo()
        {
            var articulo = _articuloServicio.ObtenerProductoPorCodigo(txtCodigos.Text, (long)Entidad.ListaPrecioDeliveryId);

            if (articulo != null)
            {
                if (articulo.Precio != null)
                {
                    if (!articulo.EstaDiscontinuado && !articulo.EstaEliminado)
                    {
                        if (!articulo.ActivarLimiteVenta || articulo.LimiteVenta >= nudCantidad.Value)
                        {
                            if (articulo.Stock >= nudCantidad.Value || articulo.PermiteStockNegativo || !articulo.DescuentaStock)
                            {
                                if (articulo.StockMinimo >= articulo.Stock && articulo.DescuentaStock)
                                {
                                    MessageBox.Show($"Debe recargar el Stock de {articulo.Descripcion}!",
                                                    $"Recarga de Stock de {articulo.Descripcion}", MessageBoxButtons.OK,
                                                    MessageBoxIcon.Exclamation);
                                }
                                else
                                {
                                    txtDescripcion.Text = articulo.Descripcion;
                                    txtPrecio.Text      = articulo.Precio.ToString();


                                    var _articulo = new DetalleComprobanteDto
                                    {
                                        ArticuloId     = articulo.Id,
                                        CodigoProducto = articulo.CodigoBarra,
                                        Descripcion    = articulo.Descripcion,
                                        Cantidad       = nudCantidad.Value,
                                        PrecioUnitario = (decimal)articulo.Precio
                                    };


                                    if (!comprobante.Items.Any(x =>
                                                               x.Descripcion == _articulo.Descripcion &&
                                                               x.CodigoProducto == _articulo.CodigoProducto))
                                    {
                                        comprobante.Items.Add(_articulo);
                                    }
                                    else
                                    {
                                        var articuloASumar = comprobante.Items
                                                             .FirstOrDefault(x => x.CodigoProducto == _articulo.CodigoProducto);
                                        if (articuloASumar.Cantidad + _articulo.Cantidad <= articulo.Stock)
                                        {
                                            articuloASumar.Cantidad += _articulo.Cantidad;
                                        }
                                        else
                                        {
                                            MessageBox.Show($"Su stock es de {articulo.Stock - articuloASumar.Cantidad}, no puede agregar {nudCantidad.Value} productos");
                                        }
                                    }


                                    ActualizarGrilla();
                                }
                            }
                            else
                            {
                                MessageBox.Show(@"No se pudo realizar la operacion por falta de Stock", "Atencion",
                                                MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                            }
                        }
                        else
                        {
                            MessageBox.Show(@"No se pudo realizar la operacion por limite de venta", "Atencion",
                                            MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        }
                    }
                    else
                    {
                        MessageBox.Show(
                            @"No se pudo realizar la operacion el articulo esta eliminado/descontinuado",
                            "Atencion", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }
                }
                else
                {
                    MessageBox.Show($"No se pudo agregar el producto: '{articulo.Descripcion}' ya que carece de precio en este salon",
                                    "Atencion", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
            }
            else
            {
                var fBuscar = new _10111_BuscarArticulo((long)Entidad.ListaPrecioDeliveryId);
                fBuscar.ShowDialog();
                if (fBuscar.RealizoOperacion)
                {
                    txtDescripcion.Text = fBuscar.Descripcion;
                    txtCodigos.Text     = fBuscar.Codigo;
                    txtPrecio.Text      = fBuscar.Precio;
                }
            }
        }