Exemplo n.º 1
0
        public ActionResult EditarOrdenCompra(OrdenCompraDto ordenCompraDto)
        {
            if (ordenCompraDto != null)
            {
                ordenCompraServicio.Update(ordenCompraDto);
            }

            return(Json(ordenCompraDto, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 2
0
        public async Task <ActionResult <OrdenCompraResponseDto> > addOrdenCompra(OrdenCompraDto ordeCompraDto)
        {
            var email       = HttpContext.User?.Claims?.FirstOrDefault(x => x.Type == ClaimTypes.Email).Value; //Se obtiene este email desde el token que envía el usuario
            var direccion   = _mapper.Map <DireccionDto, Direccion>(ordeCompraDto.DireccionEnvio);
            var ordenCompra = await _ordenCompraService.addOrdenCompra(email, ordeCompraDto.TipoEnvio, ordeCompraDto.CarritoCompraId, direccion);

            if (ordenCompra == null)
            {
                return(BadRequest(new CodeErrorResponse(400, "Errores creando la orden de compra")));
            }
            else
            {
                return(Ok(_mapper.Map <OrdenCompras, OrdenCompraResponseDto>(ordenCompra)));
            }
        }
        public void Update(OrdenCompraDto ordenCompraDto)
        {
            try
            {
                var target = One(e => e.Id == ordenCompraDto.Id);

                if (target != null)
                {
                    target.FechaDeEmision = DateTime.Now;
                    target.ProveedorId    = ordenCompraDto.ProveedorId;
                    target.FormaPagoId    = ordenCompraDto.FormaPagoId;
                    target.SubTotal       = ordenCompraDto.SubTotal;
                    target.EstadoId       = ordenCompraDto.EstadoId;
                    target.Estado         = ordenCompraDto.Estado;

                    var entity = new OrdenCompra();

                    entity.Id             = target.Id;
                    entity.FechaDeEmision = target.FechaDeEmision;
                    entity.ProveedorId    = target.ProveedorId;
                    entity.FormaPagoId    = target.FormaPagoId;
                    entity.SubTotal       = target.SubTotal;
                    entity.EstadoId       = target.EstadoId;

                    if (target.Estado != null)
                    {
                        entity.EstadoId = target.Estado.Id;
                    }

                    entities.OrdenCompras.Attach(entity);
                    entities.Entry(entity).State = EntityState.Modified;
                    entities.SaveChanges();
                }
            }
            catch (Exception ex)
            {
            }
        }
        public IHttpActionResult CrearOrdenDeCompra(NuevaOrdenCompraDto nuevaOrdenCompraDto)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest());
                }

                var ordenCompraDto = new OrdenCompraDto
                {
                    FechaDeEmision = DateTime.Now,
                    FormaPagoId    = nuevaOrdenCompraDto.OrdenCompra.FormaPagoId,
                    SubTotal       = nuevaOrdenCompraDto.OrdenCompra.SubTotal,
                    EstadoId       = 1,
                    ProveedorId    = nuevaOrdenCompraDto.OrdenCompra.ProveedorId,
                    UsuarioId      = User.Identity.GetUserId(),
                    Fecha          = nuevaOrdenCompraDto.OrdenCompra.Fecha
                };

                var ordenCompra = Mapper.Map <OrdenCompraDto, OrdenCompra>(ordenCompraDto);
                if (ordenCompraDto.FormaPagoId == 1)
                {
                    ordenCompra.FechaDeVencimiento = Convert.ToDateTime(ordenCompraDto.Fecha);
                }
                else
                {
                    ordenCompra.FechaDeVencimiento = null;
                }

                _context.OrdenCompras.Add(ordenCompra);

                foreach (var detalle in nuevaOrdenCompraDto.OrdenCompraDetalles)
                {
                    var ordenCompraDetalleDto = new OrdenCompraDetalleDto
                    {
                        ProductoId  = detalle.ProductoId,
                        Cantidad    = detalle.Cantidad,
                        Total       = detalle.Total,
                        PrecioOrden = detalle.PrecioOrden
                    };

                    var ordenCompraDetalle = Mapper.Map <OrdenCompraDetalleDto, OrdenCompraDetalle>(ordenCompraDetalleDto);
                    _context.OrdenCompraDetalles.Add(ordenCompraDetalle);
                }

                _context.SaveChanges();
            }
            catch (Exception ex)
            {
                var exceptionMessage = "IX_OrdenCompraNumero";
                if (ex.InnerException.InnerException.Message.Contains(exceptionMessage))
                {
                    return(Json(new JsonResponse {
                        Success = false, Message = exceptionMessage
                    }));
                }
                return(BadRequest());
            }

            return(Ok(new JsonResponse {
                Success = true, Message = "Orden de Compra creada con éxito"
            }));
        }