Ejemplo n.º 1
0
        public async Task <IActionResult> PutRequest(int id, Request request)
        {
            if (id != request.Id)
            {
                return(BadRequest());
            }

            _context.Entry(request).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!RequestExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        public async Task <IActionResult> PutRequestLines(int id, RequestLines requestLines)
        {
            if (id != requestLines.Id)
            {
                return(BadRequest());
            }

            _context.Entry(requestLines).State = EntityState.Modified;

            try
            {
                var success = RecalcuateRequestTotal(requestLines.RequestId);
                await _context.SaveChangesAsync();

                if (!success)
                {
                    return(this.StatusCode(500));
                }
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!RequestLinesExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Ejemplo n.º 3
0
        //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\
        //                                                           CUSTOM METHODS                                                       ||
        //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//

        public async Task Recalc(int id)
        {
            var request = _context.Requests.Find(id);

            if (request == null)
            {
                throw new Exception("Request Id not found");
            }
            request.Total = _context.RequestLines.Where(rl => rl.RequestId == id).Sum(rl => rl.Product.Price * rl.Quantity);
            await _context.SaveChangesAsync();
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> Create([Bind("Id,Username,Password,Firstname,Lastname,Phone,Email,IsReviewer,IsAdmin")] Users users)
        {
            if (ModelState.IsValid)
            {
                _context.Add(users);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(users));
        }
Ejemplo n.º 5
0
        public async Task <IActionResult> Create([Bind("Id,Code,Name,Address,City,State,Zip,Phone,Email")] Vendors vendors)
        {
            if (ModelState.IsValid)
            {
                _context.Add(vendors);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(vendors));
        }
Ejemplo n.º 6
0
        public async Task <IActionResult> Create([Bind("Id,PartNbr,Name,Price,Unit,PhotoPath,VendorId")] Products products)
        {
            if (ModelState.IsValid)
            {
                _context.Add(products);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["VendorId"] = new SelectList(_context.Vendors, "Id", "Name", products.VendorId);
            return(View(products));
        }
Ejemplo n.º 7
0
        public async Task <IActionResult> Create([Bind("Id,RequestId,ProductId,Quantity")] RequestLines requestLines)
        {
            if (ModelState.IsValid)
            {
                _context.Add(requestLines);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["ProductId"] = new SelectList(_context.Products, "Id", "Name", requestLines.ProductId);
            ViewData["RequestId"] = new SelectList(_context.Requests, "Id", "DeliveryMode", requestLines.RequestId);
            return(View(requestLines));
        }
Ejemplo n.º 8
0
        public async Task <IActionResult> Create([Bind("Id,Description,Justification,DeliveryMode,Status,Total,UserId")] Requests requests)
        {
            if (ModelState.IsValid)
            {
                _context.Add(requests);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }

            ViewData["UserId"] = new SelectList(_context.Users, "Id", "Firstname", requests.UserId);
            return(View(requests));
        }
Ejemplo n.º 9
0
        private async Task RecalculateTotal(int requestId)
        {
            var request = await _context.Request.FindAsync(requestId);

            if (request == null)
            {
                throw new Exception("Request not found.");
            }
            request.Total = (from rl in request.Requestlines
                             select new {
                Subtotal = rl.Quantity * rl.Product.Price
            }).Sum(x => x.Subtotal);
            await _context.SaveChangesAsync();
        }
Ejemplo n.º 10
0
        public async Task <ActionResult <Requests> > SetStatusReview(int id)
        {
            var requests = await _context.Requests.FindAsync(id);

            if (requests == null)
            {
                return(NotFound());
            }
            RecalcuateRequestTotal(id);
            requests.Status = (requests.Total < 50) ? "Approved" : "Review";


            await _context.SaveChangesAsync();

            return(Ok());
        }