public IHttpActionResult CreatePODetail(PurchaseOrderDetailModel podetail)
        {
            string error = "";
            PurchaseOrderDetailModel ordm =
                PurchaseOrderDetailRepo.CreatePurchaseOrderDetail(podetail, out error);

            if (error != "" || ordm == null)
            {
                return(Content(HttpStatusCode.BadRequest, error));
            }
            return(Ok(ordm));
        }
        public IHttpActionResult UpdatePOStatusComplete(PurchaseOrderModel po)
        {
            string error = "";

            po = PurchaseOrderRepo.GetPurchaseOrderByID(po.PoId, out error);

            // if the staff has already updated the status to "received"
            if (po.Status == ConPurchaseOrder.Status.RECEIVED)
            {
                return(Ok(po));
            }
            po.Status = ConPurchaseOrder.Status.RECEIVED;

            List <PurchaseOrderDetailModel> podms = PurchaseOrderDetailRepo.GetPurchaseOrderDetailByID(po.PoId, out error);

            // if the purchase order is completed, the stock must be updated according to deliver qty.
            foreach (PurchaseOrderDetailModel podm in podms)
            {
                // get the inventory using the item id from purchaseorder detail model
                InventoryModel invm = InventoryRepo.GetInventoryByItemid(podm.Itemid, out error);

                // adding the stock accoring to deliver qty
                invm.Stock += podm.DelivQty;

                // update the inventory
                invm = InventoryRepo.UpdateInventory(invm, out error);


                InventoryTransactionModel invtm = new InventoryTransactionModel();

                invtm.InvID     = invm.Invid;
                invtm.ItemID    = invm.Itemid;
                invtm.Qty       = podm.DelivQty;
                invtm.TransType = ConInventoryTransaction.TransType.PURCHASEORDER_RECEIEVED;
                invtm.TransDate = DateTime.Now;
                invtm.Remark    = podm.PoId.ToString();
                invtm           = InventoryTransactionRepo.CreateInventoryTransaction(invtm, out error);
            }

            // updating the status
            PurchaseOrderModel pom = PurchaseOrderRepo.UpdatePurchaseOrder(po, out error);

            if (error != "" || pom == null)
            {
                if (error == ConError.Status.NOTFOUND)
                {
                    return(Content(HttpStatusCode.NotFound, "PO Not Found"));
                }
                return(Content(HttpStatusCode.BadRequest, error));
            }
            return(Ok(pom));
        }
Ejemplo n.º 3
0
 public StoreSupServiceImpl(AdjustmentVoucherRepo avrepo, EmployeeRepo erepo, PurchaseRequestRepo purreqrepo,
                            PurchaseOrderRepo porepo, SupplierRepo srepo, CollectionPointRepo crepo, IMailer mailservice, PurchaseOrderDetailRepo podrepo, TransactionRepo trepo)
 {
     this.avrepo      = avrepo;
     this.erepo       = erepo;
     this.purreqrepo  = purreqrepo;
     this.porepo      = porepo;
     this.srepo       = srepo;
     this.crepo       = crepo;
     this.mailservice = mailservice;
     this.podrepo     = podrepo;
     this.trepo       = trepo;
 }
        public IHttpActionResult UpdatePODetail(PurchaseOrderDetailModel podetail)
        {
            string error = "";
            PurchaseOrderDetailModel ordm =
                PurchaseOrderDetailRepo.UpdatePurchaseOrderDetail(podetail, out error);

            if (error != "" || ordm == null)
            {
                if (error == ConError.Status.NOTFOUND)
                {
                    return(Content(HttpStatusCode.NotFound, "PO Not Found"));
                }
                return(Content(HttpStatusCode.BadRequest, error));
            }
            return(Ok(ordm));
        }
        public IHttpActionResult GetPurchaseOrderDetailByIdAndItemId(int poid, int itemid)
        {
            string error = "";
            PurchaseOrderDetailModel orm =
                PurchaseOrderDetailRepo.GetPurchaseOrderDetailByIDAndItemID(poid, itemid, out error);

            if (error != "" || orm == null)
            {
                if (error == ConError.Status.NOTFOUND)
                {
                    return(Content(HttpStatusCode.NotFound, "PO Not Found"));
                }
                return(Content(HttpStatusCode.BadRequest, error));
            }
            return(Ok(orm));
        }
Ejemplo n.º 6
0
 public StoreClerkServiceImpl(ProductRepo prepo, PurchaseRequestRepo purreqrepo, PurchaseOrderRepo porepo, PurchaseOrderDetailRepo podrepo,
                              RequisitionRepo rrepo, RequisitionDetailRepo rdrepo, TransactionRepo trepo, TenderQuotationRepo tqrepo, RetrievalRepo retrivrepo,
                              EmployeeRepo erepo, SupplierRepo srepo, IMailer mailservice, AdjustmentVoucherRepo avrepo, DepartmentRepo drepo, AdjustmentVoucherDetailRepo avdetrepo)
 {
     this.prepo       = prepo;
     this.purreqrepo  = purreqrepo;
     this.porepo      = porepo;
     this.podrepo     = podrepo;
     this.rrepo       = rrepo;
     this.rdrepo      = rdrepo;
     this.trepo       = trepo;
     this.retrivrepo  = retrivrepo;
     this.tqrepo      = tqrepo;
     this.erepo       = erepo;
     this.srepo       = srepo;
     this.mailservice = mailservice;
     this.avrepo      = avrepo;
     this.drepo       = drepo;
     this.avdetrepo   = avdetrepo;
 }