public StationeryRequestApiModel SelectedStationeryRequest(String rid) { var resultT = from x in context.TransactionDetail where x.TransactionRef == rid select new RequestTransactionDetailApiModel { TransactionId = x.TransactionId, TransactionRef = rid, ItemId = x.ItemId, Quantity = x.Quantity, UnitPrice = x.UnitPrice }; //var resultS = from x in context.StationeryRequest // where x.RequestId == rid // select x; //StationeryRequest ss = resultS.First(); StationeryRequest ss = RetrieveReq(rid); List <RequestTransactionDetailApiModel> tt = resultT.ToList(); StationeryRequestApiModel stModel = new StationeryRequestApiModel(); stModel.RequestId = rid; stModel.RequestedBy = ss.AspNetUsers1.EmployeeName; stModel.RequestDate = ss.RequestDate; stModel.Status = ss.Status; stModel.requestTransactionDetailApiModels = tt; return(stModel); }
public bool RejectRequst([FromBody] StationeryRequestApiModel req) { GlobalClass gc = new GlobalClass(); //return gc.ApproveReq(req); return(gc.RejectReq(req)); }
//Approve Req public bool ApproveReq(StationeryRequestApiModel req) { string depid = GetUserDepId(req.Userid); var dep = from d in context.Department where d.DepartmentId == depid select d; Department department = dep.FirstOrDefault(); StationeryRequest stationeryRequest = RetrieveReq(req.RequestId); if (stationeryRequest != null) { stationeryRequest.ApprovedBy = req.Userid; stationeryRequest.Status = "Pending Disbursement"; DateTime nextMonday = DateTime.Today.AddDays(7 - ((int)DateTime.Today.DayOfWeek - (int)DayOfWeek.Monday)); DateTime nextAD = (DateTime)department.NextAvailableDate; //S1:postpone has expired so if the day is before friday,collection date should be set to next monday if (DateTime.Today > nextAD && DateTime.Now.DayOfWeek < DayOfWeek.Friday) { stationeryRequest.CollectionDate = nextMonday; } //S2: postpone has expired,if request is raised in Friday or after Friday,date should be set to next next monday if (DateTime.Today > nextAD && DateTime.Now.DayOfWeek > DayOfWeek.Friday) { stationeryRequest.CollectionDate = nextMonday.AddDays(7); } //S3:postpone is avaliable so if the day is before friday,collection date should be set to postpone date if (DateTime.Today < nextAD.AddDays(-3)) { stationeryRequest.CollectionDate = department.NextAvailableDate; } //S4:postpone is avaliable so if the day is before friday,collection date should be set to postpone date +7 if (nextAD.AddDays(-3) <= DateTime.Today && DateTime.Today < nextAD) { stationeryRequest.CollectionDate = nextAD.AddDays(7); } context.SaveChanges(); #region SendEmail StationeryRequest ss = RetrieveReq(req.RequestId); string recipientEmail, subject, content; //recipientEmail =ss.AspNetUsers1.Email; recipientEmail = "*****@*****.**"; subject = " Request approved!"; content = "Your Request was approved"; Email.Send(recipientEmail, subject, content); #endregion return(true); } return(false); }
//Reject Req public bool RejectReq(StationeryRequestApiModel req) { StationeryRequest stationeryRequest = RetrieveReq(req.RequestId); if (stationeryRequest != null) { stationeryRequest.ApprovedBy = req.ApprovedBy; stationeryRequest.Status = "Rejected"; context.SaveChanges(); #region SendEmail StationeryRequest ss = RetrieveReq(req.RequestId); string recipientEmail, subject, content; //recipientEmail =ss.AspNetUsers1.Email; recipientEmail = "*****@*****.**"; subject = " Request rejected!"; content = "Unfortunately, your Request was rejected"; Email.Send(recipientEmail, subject, content); #endregion return(true); } return(false); }