// To change the status from pending to complete public static RequisitionWithOutstandingModel Complete (RequisitionWithOutstandingModel ordm, out string error) { LUSSISEntities entities = new LUSSISEntities(); error = ""; outstandingrequisition req = new outstandingrequisition(); RequisitionWithOutstandingModel reqoutm = new RequisitionWithOutstandingModel(); List <RequisitionDetailsWithOutstandingModel> reqdm = new List <RequisitionDetailsWithOutstandingModel>(); try { // finding the db object using API model req = entities.outstandingrequisitions .Where(x => x.requisition.reqid == ordm.Reqid) .FirstOrDefault(); if (req.requisition.status == ConRequisition.Status.OUTSTANDINGREQUISITION || req.status == ConOutstandingsRequisition.Status.DELIVERED) { req.status = ConOutstandingsRequisition.Status.COMPLETE; req.requisition.status = ConRequisition.Status.COMPLETED; entities.SaveChanges(); foreach (outstandingrequisitiondetail rqdm in req.outstandingrequisitiondetails) { reqdm.Add(new RequisitionDetailsWithOutstandingModel(req.reqid, rqdm.itemid, rqdm.item.description, rqdm.qty, rqdm.item.category.name, rqdm.item.uom, rqdm.qty)); } reqoutm = new RequisitionWithOutstandingModel(req.reqid, req.requisition.raisedby, req.requisition.user.fullname , req.requisition.approvedby, req.requisition.user1.fullname, req.requisition.cpid, req.requisition.collectionpoint.cpname , req.requisition.deptid, req.requisition.department.deptname, req.status, req.requisition.reqdate, 999, "Z" + req.requisition.deptid, reqdm); NotificationModel nom = new NotificationModel(); nom.Datetime = DateTime.Now; nom.Deptid = 11; nom.Remark = "The Outstanding Items with Requisition ID (" + req.reqid + ") is now collected"; nom.Role = ConUser.Role.CLERK; nom.Title = "Outstanding Items Collected"; nom.NotiType = ConNotification.NotiType.OutstandingItemsCollected; nom.ResID = req.reqid; nom = NotificationRepo.CreatNotification(nom, out error); } else { error = "Status not Outstanding"; reqoutm = new RequisitionWithOutstandingModel(); } } catch (NullReferenceException) { error = ConError.Status.NOTFOUND; } catch (Exception e) { error = e.Message; } return(reqoutm); }
public IHttpActionResult CompleteOutstanding(RequisitionWithOutstandingModel outreq) { string error = ""; RequisitionWithOutstandingModel orm = OutstandingReqRepo.Complete(outreq, out error); if (error != "" || orm == null) { if (error == ConError.Status.NOTFOUND) { return(Content(HttpStatusCode.NotFound, "Outstanding Not Found")); } return(Content(HttpStatusCode.BadRequest, error)); } return(Ok(orm)); }
public static RequisitionWithOutstandingModel GetCompletedOutstaingReqByReqID(int reqid, out string error) { LUSSISEntities entities = new LUSSISEntities(); error = ""; RequisitionWithOutstandingModel model = new RequisitionWithOutstandingModel(); outstandingrequisition req = new outstandingrequisition(); List <RequisitionDetailsWithOutstandingModel> reqdm = new List <RequisitionDetailsWithOutstandingModel>(); try { req = entities.outstandingrequisitions.Where(x => x.reqid == reqid && x.status == ConOutstandingsRequisition.Status.COMPLETE).FirstOrDefault(); foreach (outstandingrequisitiondetail rqdm in req.outstandingrequisitiondetails) { reqdm.Add(new RequisitionDetailsWithOutstandingModel(req.reqid, rqdm.itemid, rqdm.item.description, rqdm.qty, rqdm.item.category.name, rqdm.item.uom, rqdm.qty)); } model = new RequisitionWithOutstandingModel(req.reqid, req.requisition.raisedby, req.requisition.user.fullname , req.requisition.approvedby, req.requisition.user1.fullname, req.requisition.cpid, req.requisition.collectionpoint.cpname , req.requisition.deptid, req.requisition.department.deptname, req.status, req.requisition.reqdate, 0, "", reqdm); } catch (NullReferenceException) { error = ConError.Status.NOTFOUND; } catch (Exception e) { error = e.Message; } return(model); }