public async Task <IActionResult> OnPostDeleteAsync(int id)
        {
            MalfunctionWorkOrder = await _context.MalfunctionWorkOrder
                                   .Include(m => m.Instrument)
                                   .FirstOrDefaultAsync(m => m.ID == id);

            if (MalfunctionWorkOrder == null)
            {
                return(new JsonResult("未找到该记录"));
            }

            var isAuthorized = await _authorizationService.AuthorizeAsync(User, MalfunctionWorkOrder, Operations.Delete);

            if (!isAuthorized.Succeeded)
            {
                return(new JsonResult("权限不足"));
            }

            try
            {
                // 改变故障设备的状态
                MalfunctionWorkOrder.Instrument = await _context.Set <Instrument>().FindAsync(MalfunctionWorkOrder.InstrumentID);

                MalfunctionWorkOrder.Instrument.Status = InstrumentStatus.Using;

                _context.MalfunctionWorkOrder.Remove(MalfunctionWorkOrder);
                await _context.SaveChangesAsync();

                return(new JsonResult("删除成功!"));
            }
            catch (Exception ex)
            {
                return(new JsonResult($"删除失败,请重试。错误信息:{ex}"));
            }
        }
        public async Task <IActionResult> OnPostAsync(int id)
        {
            MalfunctionWorkOrder = await _context.MalfunctionWorkOrder
                                   .Include(m => m.Instrument)
                                   .FirstOrDefaultAsync(m => m.ID == id);

            if (MalfunctionWorkOrder == null)
            {
                return(NotFound());
            }

            var isAuthorized = await _authorizationService.AuthorizeAsync(User, MalfunctionWorkOrder, Operations.Delete);

            if (!isAuthorized.Succeeded)
            {
                return(Forbid());
            }

            // 改变故障设备的状态
            MalfunctionWorkOrder.Instrument = await _context.Set <Instrument>().FindAsync(MalfunctionWorkOrder.InstrumentID);

            MalfunctionWorkOrder.Instrument.Status = InstrumentStatus.Using;

            _context.MalfunctionWorkOrder.Remove(MalfunctionWorkOrder);
            await _context.SaveChangesAsync();

            return(RedirectToPage("../WorkOrders/Details", new { id = MalfunctionWorkOrder.ID }));
        }
        public async Task <IActionResult> OnGetAsync(int id)
        {
            MalfunctionWorkOrder = await _context.MalfunctionWorkOrder
                                   .Include(m => m.Instrument)
                                   .FirstOrDefaultAsync(m => m.ID == id);

            if (MalfunctionWorkOrder == null)
            {
                return(NotFound());
            }

            var isAuthorized = await _authorizationService.AuthorizeAsync(User, MalfunctionWorkOrder, Operations.Delete);

            if (!isAuthorized.Succeeded)
            {
                return(Forbid());
            }

            return(Page());
        }
        public async Task <IActionResult> OnGetAsync(int id)
        {
            MalfunctionWorkOrder = await _context.MalfunctionWorkOrder
                                   .AsNoTracking()
                                   .Include(m => m.MalfunctionInfo)
                                   .Include(m => m.Investigation)
                                   .Include(m => m.RepairRequest)
                                   .Include(m => m.AccessoriesOrder)
                                   .Include(m => m.Repair)
                                   .Include(m => m.Validation)
                                   .Include(m => m.Instrument)
                                   .FirstOrDefaultAsync(m => m.ID == id);

            if (MalfunctionWorkOrder == null)
            {
                return(NotFound());
            }

            return(Page());
        }
Beispiel #5
0
        public async Task <IActionResult> OnPostAsync(int id)
        {
            MalfunctionWorkOrder = await _context.MalfunctionWorkOrder
                                   .Include(m => m.Instrument)
                                   .FirstOrDefaultAsync(m => m.ID == id);

            if (MalfunctionWorkOrder == null)
            {
                return(NotFound());
            }

            var isAuthorized = await _authorizationService.AuthorizeAsync(User, MalfunctionWorkOrder, Operations.Update);

            if (!isAuthorized.Succeeded)
            {
                return(Forbid());
            }

            if (await TryUpdateModelAsync <MalfunctionWorkOrder>(
                    MalfunctionWorkOrder,
                    "MalfunctionWorkOrder",
                    i => i.InstrumentID, i => i.Progress, i => i.CreatedTime, i => i.Creator))
            {
                if (MalfunctionWorkOrder.Progress < WorkOrderProgress.Completed)
                {
                    MalfunctionWorkOrder.Progress = WorkOrderProgress.Completed;
                }

                if (MalfunctionWorkOrder.Instrument.Status == InstrumentStatus.Malfunction)
                {
                    MalfunctionWorkOrder.Instrument.Status = InstrumentStatus.Using;
                }

                await _context.SaveChangesAsync();

                return(RedirectToPage("../WorkOrders/Index"));
            }

            return(Page());
        }
Beispiel #6
0
        // 更新工单进度为已完成
        public async Task <IActionResult> OnPostCompleteWorkOrderAsync(int id)
        {
            MalfunctionWorkOrder = await _context.MalfunctionWorkOrder
                                   .Include(m => m.Instrument)
                                   .FirstOrDefaultAsync(m => m.ID == id);

            if (MalfunctionWorkOrder == null)
            {
                return(new JsonResult("未找到该记录"));
            }

            var isAuthorized = await _authorizationService.AuthorizeAsync(User, MalfunctionWorkOrder, Operations.Update);

            if (!isAuthorized.Succeeded)
            {
                return(new JsonResult("权限不足"));
            }

            try
            {
                if (MalfunctionWorkOrder.Progress < WorkOrderProgress.Completed)
                {
                    MalfunctionWorkOrder.Progress = WorkOrderProgress.Completed;
                }

                if (MalfunctionWorkOrder.Instrument.Status == InstrumentStatus.Malfunction)
                {
                    MalfunctionWorkOrder.Instrument.Status = InstrumentStatus.Using;
                }

                await _context.SaveChangesAsync();

                return(new JsonResult("工单已完成!"));
            }
            catch (Exception ex)
            {
                return(new JsonResult($"工单未完成,错误信息:{ex}"));
            }
        }