// Author: Ayisha public string DeptHeadRequisitionDetailsApi(int id) { //In android we will get the id from intent. //Getting respective requisition based on id. var requisition = _dbContext.DeptRequisitions.FirstOrDefault(dr => dr.Id == id); var requisitionDetailsDTO = new List <RequisitionDetailDTO>(); //accessing the list of requisition details for the specific requisition foreach (var requisitionDetail in requisition.RequisitionDetails) { //creating a RequisitionDetailDTO for each req details to add to list of reqDetails var DTO = new RequisitionDetailDTO(); DTO.Id = requisitionDetail.Id; DTO.StationeryId = requisitionDetail.Stationery.Id; DTO.StationeryName = requisitionDetail.Stationery.Description; DTO.Qty = requisitionDetail.Qty; requisitionDetailsDTO.Add(DTO); } return(JsonSerializer.Serialize(new { requisitionId = requisition.Id, requisitionDetails = requisitionDetailsDTO })); }
// Author: Benedict, Yeo Jia Hui // API to GET a requisition form that has not been submitted yet by the dept rep public string EmployeeRequisitionFormApi() { //int userId = (int)HttpContext.Session.GetInt32("Id"); int userId = _dbContext.AndroidUsers.FirstOrDefault().UserId; Employee user = _dbContext.Employees.SingleOrDefault(e => e.Id == userId); int deptId = user.Dept.id; var requisition = _dbContext.DeptRequisitions.FirstOrDefault(dr => dr.SubmissionStatus == SubmissionStatus.Draft && dr.Employee.Dept.id == deptId); // Create DeptRequisition DTO DeptRequisitionDTO deptRequisitionDto = new DeptRequisitionDTO(); deptRequisitionDto.RequisitionDetails = new List <RequisitionDetailDTO>(); //looking for existing requisition with Draft status if (requisition != null) { deptRequisitionDto.Id = requisition.Id; deptRequisitionDto.FormStatus = "Existing"; foreach (var requisitionDetail in requisition.RequisitionDetails) { RequisitionDetailDTO requisitionDetailDto = new RequisitionDetailDTO(); requisitionDetailDto.StationeryId = requisitionDetail.Stationery.Id; requisitionDetailDto.StationeryName = requisitionDetail.Stationery.Description; requisitionDetailDto.Qty = requisitionDetail.Qty; deptRequisitionDto.RequisitionDetails.Add(requisitionDetailDto); } return(JsonSerializer.Serialize(new { deptRequisitionDto })); } else { deptRequisitionDto.FormStatus = "New"; var stationeries = _dbContext.Stationeries.ToList(); foreach (var stationery in stationeries) { RequisitionDetailDTO requisitionDetailDto = new RequisitionDetailDTO(); requisitionDetailDto.StationeryId = stationery.Id; requisitionDetailDto.StationeryName = stationery.Description; requisitionDetailDto.Qty = 0; deptRequisitionDto.RequisitionDetails.Add(requisitionDetailDto); } return(JsonSerializer.Serialize(new { deptRequisitionDto })); } }
// GET: api/MobileRequisition/5 public RequisitionListDTO Get(int id) { //Get all requsition from this employee List <Requisition> requisitionHistory = requisitionCatalogueService.GetPersonalRequisitionHistory(id); List <RequisitionDTO> moDepartmentRequisition = new List <RequisitionDTO>(); foreach (Requisition r in requisitionHistory) { RequisitionDTO rDTO = new RequisitionDTO { Employee = new EmployeeDTO { DepartmentId = r.Employee.DepartmentId, Email = r.Employee.Email, Name = r.Employee.Name, Id = r.Employee.Id, Image = r.Employee.Image, Password = r.Employee.Password, RoleId = r.Employee.RoleId, Username = r.Employee.Username, Title = r.Employee.Title }, Id = r.Id, EmployeeId = r.EmployeeId, DateTime = r.DateTime, Status = r.Status, Remarks = r.Remarks }; foreach (RequisitionDetail rd in r.RequisitionDetails) { RequisitionDetailDTO rdDTO = new RequisitionDetailDTO { Id = rd.Id, RequisitionId = rd.RequisitionId, DisbursementId = rd.DisbursementId, StationeryId = rd.StationeryId, QuantityOrdered = rd.QuantityOrdered, QuantityDelivered = rd.QuantityDelivered, Status = rd.Status, Stationery = new StationeryDTO { Id = rd.Stationery.Id, Description = rd.Stationery.Description, Bin = rd.Stationery.Bin, Image = rd.Stationery.Image } }; rDTO.RequisitionDetails.Add(rdDTO); } moDepartmentRequisition.Add(rDTO); } RequisitionListDTO model = new RequisitionListDTO() { Requisitions = moDepartmentRequisition }; return(model); }