Ejemplo n.º 1
0
        public static ItemModel GetItemByReqid(int reqid, out string error)
        {
            LUSSISEntities entities = new LUSSISEntities();

            error = "";
            item item = new item();
            requisitiondetail reqdet = new requisitiondetail();
            ItemModel         im     = new ItemModel();

            try
            {
                reqdet = entities.requisitiondetails.Where(p => p.reqid == reqid).FirstOrDefault <requisitiondetail>();
                item   = reqdet.item;
                im     = CovertDBItemtoAPIItem(item);
            }
            catch (NullReferenceException)
            {
                error = ConError.Status.NOTFOUND;
            }
            catch (Exception e)
            {
                error = e.Message;
            }
            return(im);
        }
        // update the Requisition Details
        public static RequisitionDetailsModel UpdateRequisitionDetail(RequisitionDetailsModel reqdm, out string error)
        {
            error = "";
            // declare and initialize new LUSSISEntities to perform update
            LUSSISEntities    entities = new LUSSISEntities();
            requisitiondetail reqd     = new requisitiondetail();

            try
            {
                // finding the inventory object using Inventory API model
                reqd = entities.requisitiondetails.Where(p => p.reqid == reqdm.Reqid && p.itemid == reqdm.Itemid).FirstOrDefault <requisitiondetail>();

                // transfering data from API model to DB Model
                reqd.reqid  = reqdm.Reqid;
                reqd.itemid = reqdm.Itemid;
                reqd.qty    = reqdm.Qty;

                // saving the update
                entities.SaveChanges();

                // return the updated model
                reqdm = CovertDBRequisitionDetailstoAPIRequisitionDetails(reqd);
            }
            catch (NullReferenceException)
            {
                error = ConError.Status.NOTFOUND;
            }
            catch (Exception e)
            {
                error = e.Message;
            }
            return(reqdm);
        }
        // create Requistion Details
        public static List <RequisitionDetailsModel> CreateRequisitionDetails(RequisitionDetailsModel reqd, out string error)
        {
            error = "";
            LUSSISEntities    entities = new LUSSISEntities();
            requisitiondetail reqdn    = new requisitiondetail();

            try
            {
                reqdn.reqid  = reqd.Reqid;
                reqdn.itemid = reqd.Itemid;
                reqdn.qty    = reqd.Qty;

                reqdn = entities.requisitiondetails.Add(reqdn);
                entities.SaveChanges();
            }
            catch (NullReferenceException)
            {
                error = ConError.Status.NOTFOUND;
            }
            catch (Exception e)
            {
                error = e.Message;
            }
            return(GetRequisitionDetailsByRequisitionId(reqdn.reqid, out error));
        }
Ejemplo n.º 4
0
        //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);
        }
        // Convert From Auto Generated DB Model to APIModel for Requisitiondetail
        private static RequisitionDetailsModel CovertDBRequisitionDetailstoAPIRequisitionDetails(requisitiondetail reqd)
        {
            RequisitionDetailsModel reqdm;

            try
            {
                reqdm = new RequisitionDetailsModel(reqd.reqid, reqd.itemid, reqd.item.description, reqd.qty, reqd.item.category.name, reqd.item.uom, reqd.item.inventories.First().stock);
            }
            catch (Exception)
            {
                reqdm = new RequisitionDetailsModel(reqd.reqid, reqd.itemid, reqd.item.description, reqd.qty, reqd.item.category.name, reqd.item.uom, 0);
            }
            return(reqdm);
        }