public static RequisitionWithDisbursementModel GetRequisitionWithDisbursementByReqID(int reqid, out string error) { LUSSISEntities entities = new LUSSISEntities(); // Initializing the error variable to return only blank if there is no error error = ""; RequisitionWithDisbursementModel reqm = new RequisitionWithDisbursementModel(); requisition reqs = new requisition(); try { reqs = entities.requisitions.Where(p => p.reqid == reqid).FirstOrDefault(); reqm = CovertDBRequisitionDistoAPIRequisitionDiswithDetails(reqs); } // if inventory not found, will throw NOTFOUND exception catch (NullReferenceException) { // if there is NULL Exception error, error will be 404 error = ConError.Status.NOTFOUND; } catch (Exception e) { // for other exceptions error = e.Message; } //returning the list return(reqm); }
public static DepartmentModel GetDepartmentByReqid(int reqid, out string error) { LUSSISEntities entities = new LUSSISEntities(); error = ""; department dept = new department(); requisition req = new requisition(); DepartmentModel dm = new DepartmentModel(); try { req = entities.requisitions.Where(p => p.reqid == reqid).FirstOrDefault <requisition>(); dept = req.department; dm = CovertDBDepttoAPIDept(dept); } catch (NullReferenceException) { error = ConError.Status.NOTFOUND; } catch (Exception e) { error = e.Message; } return(dm); }
// Convert From Auto Generated DB Model to APIModel for Requisition private static RequisitionModel CovertDBRequisitiontoAPIRequisition(requisition req) { RequisitionModel reqm = new RequisitionModel(req.reqid, req.raisedby, req.user.fullname , req.approvedby, req.user1.fullname, req.cpid, req.collectionpoint.cpname , req.deptid, req.department.deptname, req.status, req.reqdate, new List <RequisitionDetailsModel>()); return(reqm); }
//Create new Requisition with Detials public static RequisitionModel CreateRequisitionwithDetails(RequisitionModel reqm, List <RequisitionDetailsModel> reqd, out string error) { error = ""; LUSSISEntities entities = new LUSSISEntities(); requisition req = new requisition(); List <requisitiondetail> reqlist = new List <requisitiondetail>(); try { req.reqid = reqm.Reqid; req.raisedby = reqm.Raisedby; req.approvedby = reqm.Approvedby; req.deptid = reqm.Depid; req.cpid = reqm.Cpid; req.status = ConRequisition.Status.PENDING; req.reqdate = DateTime.Now; req = entities.requisitions.Add(req); entities.SaveChanges(); foreach (RequisitionDetailsModel rdm in reqd) { requisitiondetail rqd = new requisitiondetail { reqid = req.reqid, itemid = rdm.Itemid, qty = rdm.Qty }; rqd = entities.requisitiondetails.Add(rqd); entities.SaveChanges(); reqlist.Add(rqd); } reqm = GetRequisitionByRequisitionId(req.reqid, out error); NotificationModel nom = new NotificationModel(); nom.Deptid = DepartmentRepo.GetDepartmentByUserid(reqm.Raisedby ?? default(int), out error).Deptid; nom.Role = ConUser.Role.HOD; nom.Title = "Requisition Approval"; nom.NotiType = ConNotification.NotiType.RequisitionApproval; nom.ResID = reqm.Reqid; nom.Remark = "A new requisition has been raised by " + reqm.Rasiedbyname + "!"; nom = NotificationRepo.CreatNotification(nom, out error); } catch (NullReferenceException) { error = ConError.Status.NOTFOUND; } catch (Exception e) { error = e.Message; } return(reqm); }
//create the requisition public static RequisitionModel CreateRequisition(RequisitionModel req, out string error) { error = ""; bool RaisedByTempHOD = true; LUSSISEntities entities = new LUSSISEntities(); requisition reqn = new requisition(); try { reqn.raisedby = req.Raisedby; reqn.approvedby = req.Approvedby; if (req.Approvedby == null || req.Approvedby == 0) { reqn.approvedby = req.Raisedby; RaisedByTempHOD = false; } reqn.deptid = req.Depid; reqn.cpid = req.Cpid; reqn.status = ConRequisition.Status.PENDING; reqn.reqdate = DateTime.Now; reqn = entities.requisitions.Add(reqn); entities.SaveChanges(); req = GetRequisitionByRequisitionId(reqn.reqid, out error); if (!RaisedByTempHOD) { NotificationModel nom = new NotificationModel(); nom.Deptid = DepartmentRepo.GetDepartmentByUserid(reqn.raisedby ?? default(int), out error).Deptid; nom.Role = ConUser.Role.HOD; nom.Title = "Requisition Approval"; nom.NotiType = ConNotification.NotiType.RequisitionApproval; nom.ResID = reqn.reqid; nom.Remark = "A new requisition has been raised by " + req.Rasiedbyname + "!"; nom = NotificationRepo.CreatNotification(nom, out error); } else { req.Status = ConRequisition.Status.APPROVED; req = UpdateRequisition(req, out error); } } catch (NullReferenceException) { error = ConError.Status.NOTFOUND; } catch (Exception e) { error = e.Message; } return(req); }
public void addRequisition(User u, List<ShoppingItem> sclist) { requisition re = new requisition(); re.departmentId = u.DepartmentId; re.userId = u.UserId; re.rejectReason = null; re.status_dept = "Pending"; re.requestDate = DateTime.Now; luse.requisitions.Add(re); luse.SaveChanges(); for (int i = 0; i < sclist.Count; i++) { requsiiton_item reItem = new requsiiton_item(); reItem.requisitionId = re.requisitionId; reItem.itemId = sclist[i].ItemId; reItem.requestQty = sclist[i].Amount; luse.requsiiton_item.Add(reItem); luse.SaveChanges(); } checkItemAvailable(re.requisitionId); }
public void addRequisition(User u, List <ShoppingItem> sclist) { requisition re = new requisition(); re.departmentId = u.DepartmentId; re.userId = u.UserId; re.rejectReason = null; re.status_dept = "Pending"; re.requestDate = DateTime.Now; luse.requisitions.Add(re); luse.SaveChanges(); for (int i = 0; i < sclist.Count; i++) { requsiiton_item reItem = new requsiiton_item(); reItem.requisitionId = re.requisitionId; reItem.itemId = sclist[i].ItemId; reItem.requestQty = sclist[i].Amount; luse.requsiiton_item.Add(reItem); luse.SaveChanges(); } checkItemAvailable(re.requisitionId); }
public void createRequisition_PyaePyae(string requisitionId, DateTime date, string userId, string departmentId, string rejectReason, string status, DataTable requisitionDetails) { requisitionEntity = new requisition(); requisitionEntity.requisitionId = requisitionId; requisitionEntity.date = date; requisitionEntity.userId = userId; requisitionEntity.departmentId = departmentId; requisitionEntity.rejectreason = rejectReason; requisitionEntity.status = status; ctx.requisitions.Add(requisitionEntity); ctx.SaveChanges(); foreach (DataRow dr in requisitionDetails.Rows) { reqDetailEntity = new requisitionDetail(); reqDetailEntity.requisitionId = (dr["requisitionId"]).ToString(); reqDetailEntity.itemId = (dr["itemId"]).ToString(); reqDetailEntity.requestedQty = Convert.ToInt32(dr["quantity"]); reqDetailEntity.deliveredQty = 0; ctx.requisitionDetails.Add(reqDetailEntity); ctx.SaveChanges(); } }
// to get the Requisition by the RequisitionId public static RequisitionModel GetRequisitionByRequisitionId(int reqid, out string error) { LUSSISEntities entities = new LUSSISEntities(); error = ""; requisition requisition = new requisition(); RequisitionModel reqm = new RequisitionModel(); try { requisition = entities.requisitions.Where(p => p.reqid == reqid).FirstOrDefault <requisition>(); reqm = CovertDBRequisitiontoAPIRequisitionwithDetails(requisition); } catch (NullReferenceException) { error = ConError.Status.NOTFOUND; } catch (Exception e) { error = e.Message; } return(reqm); }
// update the Requisition public static RequisitionModel UpdateRequisition(RequisitionModel reqm, out string error) { error = ""; // declare and initialize new LUSSISEntities to perform update LUSSISEntities entities = new LUSSISEntities(); requisition req = new requisition(); try { // finding the inventory object using Inventory API model req = entities.requisitions.Where(p => p.reqid == reqm.Reqid).First <requisition>(); // transfering data from API model to DB Model req.reqid = reqm.Reqid; req.raisedby = reqm.Raisedby; req.approvedby = reqm.Approvedby; req.deptid = reqm.Depid; req.status = reqm.Status; // saving the update entities.SaveChanges(); if (req.status == ConRequisition.Status.DELIVERED) { NotificationModel nom = new NotificationModel(); nom.Deptid = reqm.Depid; nom.Role = ConUser.Role.DEPARTMENTREP; nom.Title = "Ready to Collect"; nom.NotiType = ConNotification.NotiType.DeliveredRequisition; nom.ResID = reqm.Reqid; nom.Remark = "Requisition is now ready to collect"; nom = NotificationRepo.CreatNotification(nom, out error); } else if (req.status == ConRequisition.Status.APPROVED) { NotificationModel nom = new NotificationModel(); nom.Deptid = reqm.Depid; nom.Role = ConUser.Role.EMPLOYEEREP; nom.Title = "HOD Requisition"; nom.NotiType = ConNotification.NotiType.HODApprovedRequistion; nom.ResID = reqm.Reqid; nom.Remark = "The new requisition has been approved by Head of Department"; nom = NotificationRepo.CreatNotification(nom, out error); nom.Deptid = reqm.Depid; nom.Role = ConUser.Role.DEPARTMENTREP; nom.Title = "HOD Requisition"; nom.NotiType = ConNotification.NotiType.HODApprovedRequistion; nom.ResID = reqm.Reqid; nom.Remark = "The new requisition has been approved by Head of Department"; nom = NotificationRepo.CreatNotification(nom, out error); nom.Deptid = 11; nom.Role = ConUser.Role.CLERK; nom.Title = "New Requisition"; nom.NotiType = ConNotification.NotiType.HODApprovedRequistion; nom.ResID = reqm.Reqid; nom.Remark = "The new requisition has been rasied by " + reqm.Depname; nom = NotificationRepo.CreatNotification(nom, out error); } else if (req.status == ConRequisition.Status.REQUESTPENDING) { NotificationModel nom = new NotificationModel(); nom.Deptid = reqm.Depid; nom.Role = ConUser.Role.HOD; nom.Title = "Approved Requisition"; nom.NotiType = ConNotification.NotiType.ClerkApprovedRequisiton; nom.ResID = reqm.Reqid; nom.Remark = "The new requisition has been approved by the store"; nom = NotificationRepo.CreatNotification(nom, out error); nom.Deptid = reqm.Depid; nom.Role = ConUser.Role.TEMPHOD; nom.Title = "Approved Requisition"; nom.NotiType = ConNotification.NotiType.ClerkApprovedRequisiton; nom.ResID = reqm.Reqid; nom.Remark = "The new requisition has been approved by the store"; nom = NotificationRepo.CreatNotification(nom, out error); } else if (req.status == ConRequisition.Status.COMPLETED || req.status == ConRequisition.Status.OUTSTANDINGREQUISITION) { NotificationModel nom = new NotificationModel(); nom.Deptid = 11; nom.Role = ConUser.Role.CLERK; nom.Title = "Items Collected"; nom.NotiType = ConNotification.NotiType.CollectedRequistion; nom.ResID = reqm.Reqid; nom.Remark = "The Items in Requisiton has been collected by Department Rep!"; nom = NotificationRepo.CreatNotification(nom, out error); } // return the updated model reqm = CovertDBRequisitiontoAPIRequisition(req); } catch (NullReferenceException) { error = ConError.Status.NOTFOUND; } catch (Exception e) { error = e.Message; } return(reqm); }
private static RequisitionWithDisbursementModel CovertDBRequisitionDistoAPIRequisitionDiswithDetails(requisition req) { List <RequisitionDetailsWithDisbursementModel> reqdm = new List <RequisitionDetailsWithDisbursementModel>(); foreach (requisitiondetail rqdm in req.requisitiondetails) { try { reqdm.Add(new RequisitionDetailsWithDisbursementModel(rqdm.reqid, rqdm.itemid, rqdm.item.description, rqdm.qty, rqdm.item.category.name, rqdm.item.uom, rqdm.requisition.disbursements.First().disbursementdetails.Where(x => x.itemid == rqdm.itemid).First().qty)); } catch (Exception) { reqdm.Add(new RequisitionDetailsWithDisbursementModel(rqdm.reqid, rqdm.itemid, rqdm.item.description, rqdm.qty, rqdm.item.category.name, rqdm.item.uom, 0)); } } RequisitionWithDisbursementModel reqm = new RequisitionWithDisbursementModel(); try { reqm = new RequisitionWithDisbursementModel(req.reqid, req.raisedby, req.user.fullname , req.approvedby, req.user1.fullname, req.cpid, req.collectionpoint.cpname , req.deptid, req.department.deptname, req.status, req.reqdate, req.disbursementlockers.First().lockerid, req.disbursementlockers.First().lockercollectionpoint.lockername, reqdm); } catch (Exception) { reqm = new RequisitionWithDisbursementModel(req.reqid, req.raisedby, req.user.fullname , req.approvedby, req.user1.fullname, req.cpid, req.collectionpoint.cpname , req.deptid, req.department.deptname, req.status, req.reqdate, 0, "", reqdm); } return(reqm); }
// Convert From Auto Generated DB Model to APIModel for Requsition with Requisition Details data private static RequisitionModel CovertDBRequisitiontoAPIRequisitionwithDetails(requisition req) { List <RequisitionDetailsModel> reqdm = new List <RequisitionDetailsModel>(); foreach (requisitiondetail rqdm in req.requisitiondetails) { try { reqdm.Add(new RequisitionDetailsModel(rqdm.reqid, rqdm.itemid, rqdm.item.description, rqdm.qty, rqdm.item.category.name, rqdm.item.uom, rqdm.item.inventories.First().stock)); } catch (Exception) { reqdm.Add(new RequisitionDetailsModel(rqdm.reqid, rqdm.itemid, rqdm.item.description, rqdm.qty, rqdm.item.category.name, rqdm.item.uom, 0)); } } RequisitionModel reqm = new RequisitionModel(req.reqid, req.raisedby, req.user.fullname , req.approvedby, req.user1.fullname, req.cpid, req.collectionpoint.cpname , req.deptid, req.department.deptname, req.status, req.reqdate, reqdm); return(reqm); }
public void insertRequisitionGF(Requisition re) { requisition newre = new requisition(); newre.requisitionId = re.RequisitionId; newre.date = re.Date; newre.userId = re.UserId; newre.departmentId = re.DepartmentId; newre.rejectreason = re.RejectReason; newre.status = re.Status; ctx.requisitions.Add(newre); ctx.SaveChanges(); //gaofan UserFacade userFacade = new UserFacade(); List<User> userCollection = userFacade.getUsersWithRole("departmentDeputy", re.DepartmentId); if(userCollection.Count==0) { userCollection = userFacade.getUsersWithRole("departmentHead", re.DepartmentId); } string subject = "New Requisition Submitted."; string bodyStart = "<HTML>" + "<HEAD>" + "</HEAD>" + "<BODY>" + "<BR/>" + "<P>Dear "; string body = ",</P><BR/><P>A requisition has been raised from your department.</P>"; body = body + "<BR/>" + "<a href=\"http://10.10.1.155/SSISWebApplication/WebPages/ApproveRejectRequisition\">Click this link to view the requisition</a>"//TODO LINK + "<BR/>" + "<P>From,</P>" + "<P>SSIS.</P>" + "</BODY>" + "</HTML>"; NotifyUserController notifyUserController = new NotifyUserController(); foreach (User user in userCollection) { notifyUserController.sendEmail(user.Email, subject, bodyStart + user.UserName + body); } }
public void updateRequisitionStatus_PyaePyae(string requisitionId, string status, string reason) { requisitionEntity = new requisition(); requisitionEntity = (from x in ctx.requisitions where x.requisitionId == requisitionId select x).SingleOrDefault(); requisitionEntity.status = status; requisitionEntity.rejectreason = reason; ctx.SaveChanges(); }