public StandardRequestResultModel DeleteItemFromItemRequest(ItemToItemRequestModel item) { var checkQuery = _itemRequestFormDataAccess.ValidateIfMappingExists(item.ItemId, item.ItemRequestId); StandardRequestResultModel result = new StandardRequestResultModel(); if (checkQuery == null) { result.isSuccess = false; result.Message = "Item does not exist in Item Request."; return(result); } else { var deleteQuery = _itemRequestFormDataAccess.DeleteItemFromItemRequest(checkQuery.Id); if (deleteQuery) { result.isSuccess = true; result.Message = "Item successfully removed from Item Request."; } else { result.isSuccess = false; result.Message = "Error occured while removing Item from Item Request."; } return(result); } }
public StandardRequestResultModel AttachItemToItemRequest(ItemToItemRequestModel item) { var checkQuery = _itemRequestFormDataAccess.ValidateIfMappingExists(item.ItemId, item.ItemRequestId); StandardRequestResultModel result = new StandardRequestResultModel(); if (checkQuery != null) { result.isSuccess = false; result.Message = "Item already exists in Item Request."; return(result); } else { ItemRequestFormMapping query = new ItemRequestFormMapping(); query.ItemID = item.ItemId; query.IRFID = item.ItemRequestId; query.CreateUserName = "******"; query.CreateDttm = DateTime.UtcNow; query.UpdateUserName = "******"; query.UpdateDttm = DateTime.UtcNow; var addQuery = _itemRequestFormDataAccess.AttachItemToItemRequest(query); if (addQuery) { result.isSuccess = true; result.Message = "Item added to Item Request."; } else { result.isSuccess = false; result.Message = "Error while adding Item to Item Request."; } return(result); } }
public StandardRequestResultModel ValidateStatusChangeItemRequest(ItemRequestStatusChangeModel itemRequest) { StandardRequestResultModel result = new StandardRequestResultModel(); var selectedCodeDetail = _itemRequestFormDataAccess.GetAllTicketStatus() .CodeDetails.Where(x => x.Id == itemRequest.StatusCd) .Select(x => x.CodeValue).FirstOrDefault(); var quotationSentCd = _itemRequestFormDataAccess.GetAllTicketStatus() .CodeDetails.Where(x => x.CodeValue.Equals("Quotations Sent")) .Select(x => x.Id).FirstOrDefault(); var quotationCompleteCd = _itemRequestFormDataAccess.GetAllTicketStatus() .CodeDetails.Where(x => x.CodeValue.Equals("Completed")) .Select(x => x.Id).FirstOrDefault(); var selectedItemRequest = _itemRequestFormDataAccess.GetItemRequestFormById(itemRequest.Id); switch (selectedCodeDetail) { case "Supervisor Review": int quotationCount = selectedItemRequest.Quotations.Count; if (quotationCount > 0) { result.isSuccess = true; } else { result.isSuccess = false; result.Message = "Item Request does not have Quotations for review."; } break; case "Quotations Sent": int quotesSent = selectedItemRequest.Quotations.Where(x => x.StatusCd == quotationSentCd).Count(); if (quotesSent > 0) { result.isSuccess = true; } else { result.isSuccess = false; result.Message = "Item Request has Quotations not set to Quotations Sent status."; } break; case "Completed": int quotesComplete = selectedItemRequest.Quotations.Where(x => x.StatusCd == quotationCompleteCd).Count(); if (quotesComplete > 0) { result.isSuccess = true; } else { result.isSuccess = false; result.Message = "Item Request has Quotations not set to Completed status."; } break; case "Cancelled": var isCancelled = _itemRequestFormDataAccess.CancelItemRequest(itemRequest.Id); result.isSuccess = isCancelled; result.Message = isCancelled ? "Item Request " + itemRequest.Id + " cancelled." : "Item Request " + itemRequest.Id + " already cancelled."; break; case "Rejected": var isRejected = _itemRequestFormDataAccess.RejectItemRequest(itemRequest.Id); result.isSuccess = isRejected; result.Message = isRejected ? "Item Request " + itemRequest.Id + " set to rejected status." : "Item Request " + itemRequest.Id + " already rejected."; break; default: if (selectedCodeDetail == selectedItemRequest.CodeDetail.CodeValue) { result.isSuccess = true; result.Message = ""; } else { result.isSuccess = false; result.Message = "Unknown ticket status."; } break; } return(result); }