public ActionResult CrearPresupuestoDetalle(PresupuestoDetalleDto presupuestoDetalleDto)
        {
            if (presupuestoDetalleDto != null && presupuestoDetalleDto.Id == 0)
            {
                var presupuestoDetalle = new PresupuestoDetalle();
                presupuestoDetalle.PresupuestoId = presupuestoDetalleDto.PresupuestoId;
                presupuestoDetalle.ProductoId    = presupuestoDetalleDto.Producto.Id;
                presupuestoDetalle.Cantidad      = presupuestoDetalle.Cantidad = (presupuestoDetalleDto.Producto.ProductoTipo.Id == 2) ? (byte)1 : presupuestoDetalleDto.Cantidad;
                presupuestoDetalle.Total         = (presupuestoDetalleDto.Producto.PrecioVenta ?? default(int)) * presupuestoDetalle.Cantidad;

                presupuestoDetalle.TotalLineaExenta = (presupuestoDetalleDto.Producto.TipoImpuesto == 0 || presupuestoDetalleDto.Producto.TipoImpuesto == null)
                    ? presupuestoDetalle.Total : 0;
                presupuestoDetalle.TotalLineaCincoXCiento = (presupuestoDetalleDto.Producto.TipoImpuesto == 5)
                    ? presupuestoDetalle.Total : 0;
                presupuestoDetalle.TotalLineaDiezXCiento = (presupuestoDetalleDto.Producto.TipoImpuesto == 10)
                    ? presupuestoDetalle.Total : 0;

                _context.PresupuestoDetalles.Add(presupuestoDetalle);
                _context.SaveChanges();

                presupuestoDetalleDto.Total    = presupuestoDetalle.Total;
                presupuestoDetalleDto.Cantidad = presupuestoDetalle.Cantidad;
            }

            return(Json(presupuestoDetalleDto, JsonRequestBehavior.AllowGet));
        }
        public IHttpActionResult CrearPresupuesto(NuevoPresupuestoDto nuevoPresupuestoDto)
        {
            var presupuestoDto = new PresupuestoDto
            {
                FechaEmision     = DateTime.Now,
                VehiculoId       = nuevoPresupuestoDto.Presupuesto.VehiculoId,
                TotalPresupuesto = nuevoPresupuestoDto.Presupuesto.TotalPresupuesto,
                EstadoId         = nuevoPresupuestoDto.Presupuesto.EstadoId
            };

            var presupuesto = Mapper.Map <PresupuestoDto, Presupuesto>(presupuestoDto);

            _context.Presupuestos.Add(presupuesto);

            foreach (var detalle in nuevoPresupuestoDto.PresupuestoDetalles)
            {
                var presupuestoDetalleDto = new PresupuestoDetalleDto
                {
                    ProductoId = detalle.ProductoId,
                    Precio     = detalle.Precio,
                    Cantidad   = detalle.Cantidad,
                    Iva        = detalle.Iva,
                    SubTotal   = detalle.SubTotal
                };

                var presupuestoDetalle = Mapper.Map <PresupuestoDetalleDto, PresupuestoDetalle>(presupuestoDetalleDto);
                _context.PresupuestoDetalles.Add(presupuestoDetalle);
            }

            _context.SaveChanges();

            return(Ok());
        }
        public ActionResult EliminarPresupuestoDetalle([DataSourceRequest] DataSourceRequest request,
                                                       PresupuestoDetalleDto presupuestoDetalleDto)
        {
            PresupuestoDetalle presupuestoDetalle = new PresupuestoDetalle();

            if (presupuestoDetalleDto != null)
            {
                presupuestoDetalle.Id = presupuestoDetalleDto.Id;
                _context.PresupuestoDetalles.Attach(presupuestoDetalle);
                _context.PresupuestoDetalles.Remove(presupuestoDetalle);
                _context.SaveChanges();
            }

            return(Json(new[] { presupuestoDetalleDto }.ToDataSourceResult(request, ModelState)));
        }
        public IHttpActionResult CrearPresupuesto(NuevoPresupuestoDto nuevoPresupuestoDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var presupuestoDto = new PresupuestoDto
            {
                FechaDeValidez         = Convert.ToDateTime(nuevoPresupuestoDto.Presupuesto.Fecha),
                FechaDeEmision         = DateTime.Now,
                VehiculoId             = nuevoPresupuestoDto.Presupuesto.VehiculoId,
                TotalExenta            = nuevoPresupuestoDto.Presupuesto.TotalExenta,
                TotalIvaCincoPorCiento = nuevoPresupuestoDto.Presupuesto.TotalIvaCincoPorCiento,
                TotalIvaDiezPorCiento  = nuevoPresupuestoDto.Presupuesto.TotalIvaDiezPorCiento,
                SubTotal  = nuevoPresupuestoDto.Presupuesto.SubTotal,
                EstadoId  = 1,
                UsuarioId = User.Identity.GetUserId()
            };

            var presupuesto = Mapper.Map <PresupuestoDto, Presupuesto>(presupuestoDto);

            _context.Presupuestos.Add(presupuesto);

            foreach (var detalle in nuevoPresupuestoDto.PresupuestoDetalles)
            {
                var presupuestoDetalleDto = new PresupuestoDetalleDto
                {
                    ProductoId             = detalle.ProductoId,
                    Cantidad               = detalle.Cantidad,
                    Total                  = detalle.Total,
                    TotalLineaExenta       = detalle.TotalLineaExenta,
                    TotalLineaCincoXCiento = detalle.TotalLineaCincoXCiento,
                    TotalLineaDiezXCiento  = detalle.TotalLineaDiezXCiento
                };

                var presupuestoDetalle = Mapper.Map <PresupuestoDetalleDto, PresupuestoDetalle>(presupuestoDetalleDto);
                _context.PresupuestoDetalles.Add(presupuestoDetalle);
            }

            _context.SaveChanges();

            var resultado = Mapper.Map <Presupuesto, PresupuestoDto>(presupuesto);

            return(Ok(new JsonResponse {
                Success = true, Message = "Presupuesto creado con éxito", Id = resultado.Id
            }));
        }
Пример #5
0
        private void EditarTitulo(PresupuestoDetalleDto presupuestoTitulo)
        {
            using (var formAgregarTitulo = FormFactory.Create <FrmSeleccionarLibro>(presupuestoTitulo.Id))
            {
                formAgregarTitulo.TituloAgregado += (o, titulo) =>
                {
                    if (!this.Titulos.Any(t => t.TituloId == titulo.TituloId))
                    {
                        var tituloModificado = Titulos.FirstOrDefault(x => x.Id == titulo.TituloId);
                        if (titulo != null)
                        {
                            tituloModificado.Cantidad = titulo.Cantidad;
                            tituloModificado.Precio   = titulo.PrecioVenta;
                            tituloModificado.SubTotal = titulo.SubTotal;
                        }

                        OnPresupuestoTitulosChanged(Titulos);
                        RefrescarTitulos();
                    }
                    else
                    {
                        foreach (PresupuestoDetalleDto presupTitulo in Titulos)
                        {
                            if (presupTitulo.TituloId == titulo.TituloId)
                            {
                                presupTitulo.TituloId           = titulo.TituloId;
                                presupTitulo.TituloNombreTitulo = titulo.TituloNombre;
                                presupTitulo.Cantidad           = titulo.Cantidad;
                                presupTitulo.Precio             = titulo.PrecioVenta;
                                presupTitulo.SubTotal           = titulo.SubTotal;

                                OnPresupuestoTitulosChanged(Titulos);
                                RefrescarTitulos();
                            }
                        }
                    }

                    formAgregarTitulo.Close();
                };

                formAgregarTitulo.ShowDialog();
            }
        }
        public ActionResult EditarPresupuestoDetalle(PresupuestoDetalleDto presupuestoDetalleDto)
        {
            PresupuestoDetalle presupuestoDetalle = new PresupuestoDetalle();

            if (presupuestoDetalleDto != null && ModelState.IsValid)
            {
                presupuestoDetalle = _context.PresupuestoDetalles
                                     .Include(pd => pd.Producto)
                                     .Where(pd => pd.Id == presupuestoDetalleDto.Id)
                                     .SingleOrDefault();

                if (presupuestoDetalle != null)
                {
                    presupuestoDetalle.ProductoId = presupuestoDetalleDto.Producto.Id;
                    presupuestoDetalle.Cantidad   = (presupuestoDetalleDto.Producto.ProductoTipo.Id == 2) ? (byte)1 : presupuestoDetalleDto.Cantidad;
                    presupuestoDetalle.Total      = presupuestoDetalle.Cantidad * presupuestoDetalleDto.Producto.PrecioVenta ?? default(int);
                    if (presupuestoDetalle.Producto?.TipoImpuesto == 10)
                    {
                        presupuestoDetalle.TotalLineaDiezXCiento = presupuestoDetalle.Total;
                    }
                    else if (presupuestoDetalle.Producto?.TipoImpuesto == 5)
                    {
                        presupuestoDetalle.TotalLineaCincoXCiento = presupuestoDetalle.Total;
                    }
                    else
                    {
                        presupuestoDetalle.TotalLineaExenta = presupuestoDetalle.Total;
                    }
                }
            }
            _context.SaveChanges();

            presupuestoDetalleDto.Cantidad = presupuestoDetalle.Cantidad;
            presupuestoDetalleDto.Total    = presupuestoDetalle.Total;

            return(Json(presupuestoDetalleDto, JsonRequestBehavior.AllowGet));
        }