Example #1
0
        // Get Outstanding Req Model by Id number
        public static OutstandingReqModel GetOutstandingReqById(int outreqid, out string error)
        {
            LUSSISEntities entities = new LUSSISEntities();

            error = "";

            outstandingrequisition or  = new outstandingrequisition();
            OutstandingReqModel    orm = new OutstandingReqModel();

            try
            {
                or = entities.outstandingrequisitions
                     .Where(x => x.outreqid == outreqid)
                     .FirstOrDefault();
                orm = ConvertDBOutReqToAPIOutReq(or);
            }
            catch (NullReferenceException)
            {
                error = ConError.Status.NOTFOUND;
            }
            catch (Exception e)
            {
                error = e.Message;
            }
            return(orm);
        }
Example #2
0
        public static OutstandingReqModel GetOutReqByReqId(string token, int reqid, out string error)
        {
            string url = APIHelper.Baseurl + "/outstandingreq/requisition/" + reqid;
            OutstandingReqModel outm = APIHelper.Execute <OutstandingReqModel>(token, url, out error);

            return(outm);
        }
Example #3
0
        public static OutstandingReqModel CompleteOutstanding(string token, OutstandingReqModel outreq, out string error)
        {
            string url               = APIHelper.Baseurl + "/outstandingreq/complete/";
            string objectstring      = JsonConvert.SerializeObject(outreq);
            OutstandingReqModel outm = APIHelper.Execute <OutstandingReqModel>(token, objectstring, url, out error);

            return(outm);
        }
        public IHttpActionResult CreateOutReq(OutstandingReqModel outreq)
        {
            string error            = "";
            OutstandingReqModel orm = OutstandingReqRepo.CreateOutReq(outreq, out error);

            if (error != "" || orm == null)
            {
                return(Content(HttpStatusCode.BadRequest, error));
            }
            return(Ok(orm));
        }
        public IHttpActionResult UpdateOutReq(OutstandingReqModel outreq)
        {
            string error            = "";
            OutstandingReqModel orm = OutstandingReqRepo.UpdateOutReq(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 IHttpActionResult GetOutReqByReqId(int reqid)
        {
            string error            = "";
            OutstandingReqModel orm =
                OutstandingReqRepo.GetOutstandingReqByReqId(reqid, 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));
        }
Example #7
0
        // Convert From Auto Generated DB Model to APIModel
        private static OutstandingReqModel ConvertDBOutReqToAPIOutReq(outstandingrequisition outreq)
        {
            List <OutstandingReqDetailModel> details =
                new List <OutstandingReqDetailModel>();

            foreach (outstandingrequisitiondetail ord in outreq.outstandingrequisitiondetails)
            {
                details.Add(OutstandingReqDetailRepo.ConvertDBOutReqDetailToAPIModel(ord));
            }
            OutstandingReqModel orm = new OutstandingReqModel(
                outreq.outreqid,
                outreq.reqid,
                outreq.reason,
                outreq.status
                );

            orm.OutReqDetails = details;
            return(orm);
        }
Example #8
0
        // To add new outstanding requisition
        public static OutstandingReqModel CreateOutReq
            (OutstandingReqModel ordm, out string error)
        {
            LUSSISEntities entities = new LUSSISEntities();

            error = "";
            OutstandingReqModel    outreqm = new OutstandingReqModel();
            outstandingrequisition outreq  = new outstandingrequisition();

            try
            {
                // transfering data from API model to DB Model
                List <outstandingrequisitiondetail> details =
                    new List <outstandingrequisitiondetail>();
                foreach (OutstandingReqDetailModel ordModel in ordm.OutReqDetails)
                {
                    details.Add(OutstandingReqDetailRepo
                                .ConvertAPIOutReqDetailToDBModel(ordModel));
                }
                outreq.reqid  = ordm.ReqId;
                outreq.reason = ordm.Reason;
                outreq.status = ConOutstandingsRequisition.Status.PENDING;
                outreq.outstandingrequisitiondetails = details;

                // adding into DB
                entities.outstandingrequisitions.Add(outreq);
                entities.SaveChanges();

                // return the model
                outreqm = GetOutstandingReqById(outreq.outreqid, out error);
            }
            catch (NullReferenceException)
            {
                error = ConError.Status.NOTFOUND;
            }
            catch (Exception e)
            {
                error = e.Message;
            }
            return(outreqm);
        }
Example #9
0
        // Get Outstanding Req Model by Id number
        public static bool CheckInventoryStock(int outreq, out string error)
        {
            LUSSISEntities entities = new LUSSISEntities();

            error = "";

            outstandingrequisition or   = new outstandingrequisition();
            OutstandingReqModel    orm  = new OutstandingReqModel();
            List <inventory>       invs = new List <inventory>();
            inventory inv    = new inventory();
            bool      result = false;

            try
            {
                or   = entities.outstandingrequisitions.Where(x => x.outreqid == outreq).FirstOrDefault();
                invs = entities.inventories.ToList();
                foreach (outstandingrequisitiondetail ord in or.outstandingrequisitiondetails)
                {
                    inv = invs.Where(x => x.itemid == ord.itemid).FirstOrDefault();
                    if (ord.qty <= inv.stock)
                    {
                        result = true;
                    }
                    else
                    {
                        result = false;
                    }
                }
                return(result);
            }
            catch (NullReferenceException)
            {
                error = ConError.Status.NOTFOUND;
            }
            catch (Exception e)
            {
                error = e.Message;
            }
            return(result);
        }
Example #10
0
        // To Update Outstanding Requisition
        public static OutstandingReqModel UpdateOutReq
            (OutstandingReqModel ordm, out string error)
        {
            LUSSISEntities entities = new LUSSISEntities();

            error = "";
            OutstandingReqModel    outreqm = new OutstandingReqModel();
            outstandingrequisition outreq  = new outstandingrequisition();

            try
            {
                // finding the db object using API model
                outreq = entities.outstandingrequisitions
                         .Where(x => x.outreqid == ordm.OutReqId)
                         .FirstOrDefault();

                // transfering data from API model to DB Model
                outreq.reqid  = ordm.ReqId;
                outreq.reason = ordm.Reason;
                var TempStatus = outreq.status;


                outreq.status = ordm.Status;

                // saving the update
                entities.SaveChanges();



                if (TempStatus != ordm.Status && ordm.Status == ConOutstandingsRequisition.Status.DELIVERED)
                {
                    foreach (outstandingrequisitiondetail outrd in outreq.outstandingrequisitiondetails)
                    {
                        InventoryModel invm = InventoryRepo.GetInventoryByItemid(outrd.itemid, out error);
                        invm.Stock -= outrd.qty;
                        invm        = InventoryRepo.UpdateInventory(invm, out error);
                        InventoryTransactionModel invtm = new InventoryTransactionModel();
                        invtm.ItemID    = outrd.itemid;
                        invtm.InvID     = invm.Invid;
                        invtm.Qty       = (outrd.qty) * -1;
                        invtm.TransDate = DateTime.Now;
                        invtm.Remark    = "Fulfill Outstanding" + outrd.outreqid;
                        invtm.TransType = ConInventoryTransaction.TransType.OUTSTANDING;
                        invtm           = InventoryTransactionRepo.CreateInventoryTransaction(invtm, out error);
                    }
                }


                // return the updated model
                outreqm = ConvertDBOutReqToAPIOutReq(outreq);
            }
            catch (NullReferenceException)
            {
                error = ConError.Status.NOTFOUND;
            }
            catch (Exception e)
            {
                error = e.Message;
            }
            return(outreqm);
        }