public ApprovalHandler(OrderMakerContext context, string idstore) { _context = context; idStore = idstore; storeCache = null; approvalCache = null; }
public async Task <IList <MtdApprovalStage> > GetStagesAsync() { MtdApproval mtdApproval = await GetApproval(); if (mtdApproval != null) { return(mtdApproval.MtdApprovalStage.OrderBy(x => x.Stage).ToList()); } return(new List <MtdApprovalStage>()); }
public async Task <List <MtdApprovalStage> > GetStagesDownAsync() { MtdApproval mtdApproval = await GetApproval(); if (mtdApproval != null) { MtdApprovalStage currentStage = await GetCurrentStageAsync(); return(mtdApproval.MtdApprovalStage.Where(x => x.Stage < currentStage.Stage).OrderBy(x => x.Stage).ToList()); } return(new List <MtdApprovalStage>()); }
public async Task <IActionResult> OnGetAsync(string id) { if (id == null) { return(NotFound()); } MtdApproval = await _context.MtdApproval.Include(x => x.MtdFormNavigation).FirstOrDefaultAsync(x => x.Id == id); if (MtdApproval == null) { return(NotFound()); } return(Page()); }
public async Task <IActionResult> OnGetAsync() { MtdApproval = new MtdApproval { Id = Guid.NewGuid().ToString() }; IList <string> formsIds = await _context.MtdApproval.Select(x => x.MtdForm).ToListAsync(); MtdForms = await _context.MtdForm.Where(x => !formsIds.Contains(x.Id)).ToListAsync(); ViewData["Forms"] = new SelectList(MtdForms.OrderBy(x => x.Sequence), "Id", "Name"); return(Page()); }
public async Task <IActionResult> OnPostStageCreateAsync() { IFormCollection requestForm = await Request.ReadFormAsync(); string approvalId = requestForm["IdApproval"]; string fieldName = requestForm["fieldName"]; string fieldNote = requestForm["fieldNote"]; string fieldUser = requestForm["fieldUser"]; string fieldStageStr = requestForm["fieldStage"]; int.TryParse(fieldStageStr, out int fieldStage); string blockParts = string.Empty; if (approvalId == null) { return(NotFound()); } MtdApproval mtdApproval = await _context.MtdApproval.FindAsync(approvalId); IList <string> partIds = await _context.MtdFormPart.Where(x => x.MtdForm == mtdApproval.MtdForm).Select(x => x.Id).ToListAsync(); foreach (string id in partIds) { bool result = bool.TryParse(Request.Form[id], out bool check); if (result && check) { blockParts += $"{id}&"; } } MtdApprovalStage stage = new MtdApprovalStage { MtdApproval = approvalId, BlockParts = blockParts, Description = fieldNote, Name = fieldName, UserId = fieldUser, Stage = fieldStage, }; await _context.MtdApprovalStage.AddAsync(stage); await _context.SaveChangesAsync(); return(Ok()); }
public async Task <MtdApprovalStage> GetCurrentStageAsync() { MtdApproval approval = await GetApproval(); if (approval == null) { return(null); } MtdStore mtdStore = await GetStoreAsync(); if (mtdStore.MtdStoreApproval == null) { return(await GetFirstStageAsync()); } return(approval.MtdApprovalStage.Where(x => x.Id == mtdStore.MtdStoreApproval.MtdApproveStage).FirstOrDefault()); }
public async Task <IActionResult> OnPostDeleteAsync() { string approvalId = Request.Form["IdApproval"]; if (approvalId == null) { return(NotFound()); } MtdApproval mtdApproval = new MtdApproval { Id = approvalId }; _context.MtdApproval.Remove(mtdApproval); await _context.SaveChangesAsync(); return(Ok()); }
public async Task <bool> ActionReject(bool complete, int idStage, WebAppUser webAppUser) { MtdStore mtdStore = await GetStoreAsync(); if (mtdStore.MtdStoreApproval != null && mtdStore.MtdStoreApproval.Complete == 1) { return(false); } MtdApproval mtdApproval = await GetApproval(); MtdApprovalStage currentStage = await GetCurrentStageAsync(); MtdApprovalStage prevStage; if (!complete) { prevStage = mtdApproval.MtdApprovalStage.Where(x => x.Id == idStage).FirstOrDefault(); } else { prevStage = await GetCurrentStageAsync(); } if (prevStage == null) { return(false); } var allStages = await GetStagesAsync(); var blockPartsStage = allStages.Where(x => x.Stage < prevStage.Stage).FirstOrDefault(); MtdStoreApproval storeApproval = new MtdStoreApproval { Id = mtdStore.Id, MtdApproveStage = prevStage.Id, PartsApproved = blockPartsStage == null ? "&" : blockPartsStage.BlockParts, Complete = complete ? (sbyte)1 : (sbyte)0, Result = -1, }; if (mtdStore.MtdStoreApproval == null) { await _context.MtdStoreApproval.AddAsync(storeApproval); } else { try { _context.MtdStoreApproval.Update(storeApproval); } catch (Exception e) { throw e; } } MtdLogApproval mtdLogApproval = new MtdLogApproval() { MtdStore = mtdStore.Id, Result = -1, Stage = currentStage.Stage, Timecr = DateTime.Now, UserId = webAppUser.Id }; await _context.MtdLogApproval.AddAsync(mtdLogApproval); try { await _context.SaveChangesAsync(); } catch { return(false); } return(true); }
public async Task <bool> IsApprovalFormAsync() { MtdApproval mtdApproval = await GetApproval(); return(mtdApproval == null ? false : true); }
public void ClearCache() { approvalCache = null; storeCache = null; }