Exemple #1
0
    // need to reset ActualQty To Zero before += rsub.ActualQty;, because same item code from different department has same ActualQty now
    public void SaveActualQtyBreakdownByDepartment(int requisitionId, List <RetrievalShortfallItemSub> retrievalShortfallItemSubListOfList)
    {
        List <Disbursement> disbursementList = EFBroker_Disbursement.GetDisbursmentListbyRetrievalID(requisitionId);

        resetActualQtyToZero(retrievalShortfallItemSubListOfList, disbursementList);

        foreach (RetrievalShortfallItemSub rsub in retrievalShortfallItemSubListOfList)
        {
            foreach (Disbursement d in disbursementList)
            {
                if (rsub.DeptCode == d.DeptCode)
                {
                    foreach (Disbursement_Item di in d.Disbursement_Item)
                    {
                        if (rsub.ItemCode == di.ItemCode)
                        {
                            //find the correct Disbursement_Item to save
                            di.ActualQty += rsub.ActualQty;
                            // di.ActualQty = rsub.ActualQty;
                            EFBroker_Disbursement.UpdateDisbursementItem(di);
                        }
                    }
                }
            }
        }
        return;
    }
Exemple #2
0
    //populate shortfall data for sub gridview
    public List <RetrievalShortfallItemSub> DisplayRetrievalShortfallSubGridView(int requisitionId, string shortfallItemCode)
    {
        List <RetrievalShortfallItemSub> RetrievalShortfallItemSubGridViewList = new List <RetrievalShortfallItemSub>();

        List <Disbursement> disbursementList = EFBroker_Disbursement.GetDisbursmentListbyRetrievalID(requisitionId);

        int i = 0;

        foreach (Disbursement d in disbursementList)
        {
            foreach (Requisition r in EFBroker_Requisition.GetRequisitionListByDisbursementID(d.DisbursementID))
            {
                //if only one departmentName
                string departmentName = d.Department.DeptName.ToString();
                string departmentCode = d.Department.DeptCode.ToString();
                try
                {
                    int requestedQty = EFBroker_Requisition.FindReqItemsByReqIDItemID(r.RequisitionID, shortfallItemCode).RequestedQty ?? 0; //if RequestedQty is null, assign to 0

                    //actualQty(0) bind with avialableQty(retrievedQty)
                    RetrievalShortfallItemSub rsfs = new RetrievalShortfallItemSub((DateTime)r.RequestDate, departmentName, departmentCode, requestedQty, 0, shortfallItemCode);
                    RetrievalShortfallItemSubGridViewList.Add(rsfs);
                    i++;
                }
                catch (Exception e)
                {
                    continue;
                }
            }
        }

        return(RetrievalShortfallItemSubGridViewList);
    }
Exemple #3
0
    public void SaveCollectionTimeAndDateToDisbursement(int requisitionId, string collectionPoint, DateTime date, string time)
    {
        EFBroker_Disbursement.UpdateRetrievalStatus(requisitionId, "Closed");

        List <Disbursement> disbursementList = EFBroker_Disbursement.GetDisbursmentListbyRetrievalID(requisitionId);

        Random r = new Random();

        foreach (Disbursement d in disbursementList)
        {
            string depCode = d.Department.DeptCode;
            if (EFBroker_DeptEmployee.GetCollectionPointbyDeptCode(depCode).CollectionPoint1 == collectionPoint)////////////////The ObjectContext instance has been disposed and can no longer be used for operations that require a connection."}
            {
                d.CollectionDate = date;
                d.CollectionTime = time;
                int value = r.Next(1000, 9999);
                d.AccessCode = value.ToString();
                d.Status     = "Ready";
                EFBroker_Disbursement.UpdateDisbursement(d);

                //Thread,asynctask for email
                Thread emailThread = new Thread(() => SendEmailToDepartmentRepresentative(depCode, d, collectionPoint));
                emailThread.Start();
                //
            }
        }
    }
    protected void BtnGenerate_Click(object sender, EventArgs e)
    {
        bool check = false;

        List <int> requisitionNo = new List <int>();

        foreach (GridViewRow row in gvReq.Rows)
        {
            if (((CheckBox)row.FindControl("cbxCheckBox")).Checked == false)
            {
                lblCheckBoxValidation.Text = "Please select at least one requisition!";
            }
            else if (((CheckBox)row.FindControl("cbxCheckBox")).Checked)
            {
                check = true;
                requisitionNo.Add(Convert.ToInt32((row.FindControl("lblrequisitionNo") as Label).Text));
            }
        }

        if (check)
        {
            int empId       = (int)Session["empID"];//////////
            int retrievalId = EFBroker_Disbursement.AddNewRetrieval(empId);
            Session["RetrievalID"] = retrievalId;
            reqCon.AddDisbursement(retrievalId, requisitionNo);
            Response.Redirect("~/Store/RetrievalListDetail.aspx");
        }
    }
Exemple #5
0
    //in android
    //update actual qty for non-shortfall disbursement items when generate disbursement button clicked in RetrievalListDetail page at werehouse
    public List <RetrievalShortfallItem> UpdateRetrieval(int requisitionId, Dictionary <string, int> retrievedData)
    {
        //update retrieval status
        EFBroker_Disbursement.UpdateRetrievalStatus(requisitionId, "InProgress");

        List <Disbursement> disbursementList = EFBroker_Disbursement.GetDisbursmentListbyRetrievalID(requisitionId);

        foreach (KeyValuePair <string, int> kvp in retrievedData)
        {
            string itemCode = kvp.Key;

            foreach (Disbursement d in disbursementList)
            {
                foreach (Disbursement_Item dI in d.Disbursement_Item)
                {
                    if (dI.ItemCode.Equals(itemCode))
                    {
                        dI.ActualQty = kvp.Value;
                        EFBroker_Disbursement.UpdateDisbursementItem(dI);
                    }
                }
            }
        }
        //call CheckShortfall method after button generate disbursement clicked in RetrievalListDetail page at werehouse
        return(CheckShortfall(requisitionId, retrievedData));
    }
Exemple #6
0
    //update Disbursement Status
    public void UpdateDisbursementStatus(int disbId)
    {
        EFBroker_Disbursement.UpdateDisbursementStatus(disbId);
        List <Requisition> requisitionList = EFBroker_Requisition.GetRequisitionListByDisbursementID(disbId);

        requisitionList.ForEach(r => r.Status = "Closed");
        EFBroker_Requisition.UpdateRequisitionList(requisitionList);
    }
Exemple #7
0
    //update Disbursement final actual quantity
    public void UpdateDisbursement(int disbId, List <int> actualQty, List <string> disbRemark)
    {
        //Update actual disbursement quantity
        EFBroker_Disbursement.UpdateDisbursementActualQty(disbId, actualQty, disbRemark);

        //Update Disbursement statu to "Closed"
        UpdateDisbursementStatus(disbId);

        //Add Disbursement transaction to StockCard
        AddStockCardTransaction(disbId);
    }
Exemple #8
0
    //discard invalid disbursement and set requisitioin status to PRORITY if all qty zero
    public bool CheckInvalidDisbursement(int rId)
    {
        List <Disbursement> disbList = EFBroker_Disbursement.GetDisbursmentListbyRetrievalID(rId);

        Dictionary <Disbursement, bool> chkDisbStatus = new Dictionary <Disbursement, bool>();

        bool valid = false;

        foreach (Disbursement d in disbList)
        {
            foreach (Disbursement_Item di in d.Disbursement_Item)
            {
                if (di.ActualQty != 0)
                {
                    valid = true;
                }
            }
            chkDisbStatus.Add(d, valid);
        }

        if (!valid)
        {
            List <Requisition> reqList = new List <Requisition>();

            foreach (Disbursement d in disbList)
            {
                Requisition r = EFBroker_Requisition.GetRequisitionByDisbID(d.DisbursementID);
                r.Status         = "Priority";
                r.DisbursementID = null;
                EFBroker_Requisition.UpdateRequisition(r);

                d.Status = "Invalid";
                EFBroker_Disbursement.UpdateDisbursement(d);
            }
        }

        valid = false;

        foreach (KeyValuePair <Disbursement, bool> kvp in chkDisbStatus)
        {
            //if 1 of the disbursement is true => valid is true
            if (kvp.Value)
            {
                valid = true;
            }
        }

        if (!valid)  //   valid = false;
        {
            EFBroker_Disbursement.UpdateRetrievalStatus(rId, "Invalid");
        }

        return(valid);
    }
Exemple #9
0
 //VERIFY ACCESS CODE
 public bool CheckAccessCode(int disbId, string accessCode)
 {
     if (EFBroker_Disbursement.GetAccessCodebyDisbID(disbId).Equals(accessCode))
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Exemple #10
0
    public WCFRegenerateRequest GetRegenerateDate(string disbId)
    {
        string reqDate = (disbCon.GetRegenrateDate(Convert.ToInt32(disbId))).ToLongDateString();
        string depName = EFBroker_Disbursement.GetDisbursmentbyDisbID(Convert.ToInt32(disbId)).Department.DeptName;
        string reqBy   = EFBroker_DeptEmployee.GetDeptRepByDeptCode(depName);

        WCFRegenerateRequest r = new WCFRegenerateRequest();

        r = WCFRegenerateRequest.Make(reqDate, reqBy, depName);
        return(r);
    }
Exemple #11
0
    //Display retrieval by search keyword
    public List <Retrieval> DisplaySearch(string searchWord)
    {
        List <Retrieval> retrievalList = EFBroker_Disbursement.GetPendingAndProgressRetrievalList();

        List <Retrieval> searchList = new List <Retrieval>();

        foreach (Retrieval i in retrievalList)
        {
            searchList = retrievalList.Where(x => x.RetrievedDate.Value.ToLongDateString().ToLower().Contains(searchWord.ToLower()) || x.RetrievalID.ToString().Contains(searchWord) || x.Employee.EmpName.ToLower().Contains(searchWord.ToLower()) || x.RetrievalStatus.ToLower().Contains(searchWord.ToLower())).ToList();
        }
        return(searchList);
    }
Exemple #12
0
    //udpate acuatal quantity if no shortfall
    public void UpdateAllActaulQty(int requisitionId)
    {
        List <Disbursement> disbursementList = EFBroker_Disbursement.GetDisbursmentListbyRetrievalID(requisitionId);


        foreach (Disbursement d in disbursementList)
        {
            foreach (Disbursement_Item dI in d.Disbursement_Item)
            {
                dI.ActualQty = dI.TotalRequestedQty;
                EFBroker_Disbursement.UpdateDisbursementItem(dI);
            }
        }
    }
Exemple #13
0
    public static void UpdateDisbursementActualQty(int disbID, List <int> actualQty, List <string> disbRemark)
    {
        int i = 0;

        using (StationeryEntities context = new StationeryEntities())
        {
            Disbursement disbursement = GetDisbursmentbyDisbID(disbID);
            foreach (Disbursement_Item di in disbursement.Disbursement_Item)
            {
                di.ActualQty = actualQty[i];
                di.Remarks   = disbRemark[i];
                EFBroker_Disbursement.UpdateDisbursementItem(di);
                i++;
            }
        }
    }
Exemple #14
0
    //GET DISBURSEMENT LIST TO DISPLAY
    public List <DisbursementListItems> GvDisbursementPopulate()
    {
        List <DisbursementListItems> disbursementListItemsList = new List <DisbursementListItems>();

        //get all disbursement data
        List <Disbursement> disbursement = EFBroker_Disbursement.GetAllDisbursementList();

        //get dep detail for each disbursement
        foreach (Disbursement d in disbursement)
        {
            //Set DisbursementListItem Details
            DisbursementListItems disbursementListItems = CreateDisbursementListItem(d);
            //add display data to list
            disbursementListItemsList.Add(disbursementListItems);
        }
        return(disbursementListItemsList);
    }
Exemple #15
0
 //Reset Actual Quantity to zero
 public void resetActualQtyToZero(List <RetrievalShortfallItemSub> retrievalShortfallItemSubListOfList, List <Disbursement> disbursementList)
 {
     foreach (RetrievalShortfallItemSub shortfallList in retrievalShortfallItemSubListOfList)
     {
         foreach (Disbursement d in disbursementList)
         {
             foreach (Disbursement_Item di in d.Disbursement_Item)
             {
                 if (shortfallList.ItemCode == di.ItemCode)
                 {
                     di.ActualQty = 0;
                     EFBroker_Disbursement.UpdateDisbursementItem(di);
                 }
             }
         }
     }
 }
Exemple #16
0
    public void AddDisbursemen_Item(int disbursementID)
    {
        List <int> requisitionIDList = new List <int>();

        requisitionIDList = EFBroker_Requisition.GetRequisitionIDListbyDisbID(disbursementID);
        foreach (int rL in requisitionIDList)
        {
            List <Requisition_Item> Requisition_ItemList = EFBroker_Requisition.GetRequisitionItemListbyReqID(rL);

            foreach (Requisition_Item r in Requisition_ItemList)
            {
                if (Disbursement_ItemList.Count != 0)
                {
                    bool add = true;

                    foreach (Disbursement_Item i in Disbursement_ItemList)
                    {
                        if (i.ItemCode == r.ItemCode && i.DisbursementID == r.Requisition.DisbursementID)
                        {
                            add = false;
                            i.TotalRequestedQty += r.RequestedQty;
                            EFBroker_Disbursement.UpdateDisbursementItem(i);
                        }
                    }
                    if (add)
                    {
                        Disbursement_Item dItem1 = CreateDisbursementItemList(disbursementID, r);
                        EFBroker_Disbursement.AddNewDisbursementItem(dItem1);
                        Disbursement_ItemList.Add(dItem1);
                    }
                }
                else
                {
                    Disbursement_Item dItem2 = CreateDisbursementItemList(disbursementID, r);
                    EFBroker_Disbursement.AddNewDisbursementItem(dItem2);
                    Disbursement_ItemList.Add(dItem2);
                }
            }
        }
    }
Exemple #17
0
    public void RegenerateRequisition(List <WCFRequestedItem> regenList)
    {
        int disbId = 0;

        List <RequestedItem> requItemList = new List <RequestedItem>();

        foreach (WCFRequestedItem r in regenList)
        {
            RequestedItem rItem = new RequestedItem(r.Code, r.Description, Convert.ToInt32(r.ShortfallQty), RequisitionControl.getUOM(r.Code));
            disbId = r.DisbId;
            requItemList.Add(rItem);
        }

        DateTime date    = (disbCon.GetRegenrateDate(disbId));
        string   depName = EFBroker_Disbursement.GetDisbursmentbyDisbID(Convert.ToInt32(disbId)).Department.DeptName;
        string   reqBy   = EFBroker_DeptEmployee.GetDeptRepByDeptCode(depName);
        int      empID   = EFBroker_DeptEmployee.GetDeptRepEmpIDByDeptCode(depName);
        string   depCode = EFBroker_DeptEmployee.GetDepartByEmpID(empID).DeptCode;
        string   status  = "Priority";

        RequisitionControl.addNewRequisitionItem(requItemList, date, status, empID, depCode);
    }
Exemple #18
0
    //GET DISBURSEMENT DETAIL LIST TO DISPLAY
    public List <DisbursementDetailListItems> GvDisbursementDetailPopulate(int disbId)
    {
        List <DisbursementDetailListItems> disbursementDetailListItemsList = new List <DisbursementDetailListItems>();

        List <Disbursement_Item> disbursementDetail = new List <Disbursement_Item>();

        disbursementDetail = EFBroker_Disbursement.GetDisbursement_ItemsbyDisbID(disbId);

        foreach (Disbursement_Item disbDetails in disbursementDetail)
        {
            string itemCode  = disbDetails.ItemCode;
            string itemDesc  = disbDetails.Item.Description;
            int    actualQty = (int)disbDetails.ActualQty;
            string remarks   = disbDetails.Remarks;
            int    reqQty    = (int)disbDetails.TotalRequestedQty;

            DisbursementDetailListItems disbursementDetailListItems = new DisbursementDetailListItems(itemCode, itemDesc, reqQty, actualQty, remarks);

            disbursementDetailListItemsList.Add(disbursementDetailListItems);
        }
        return(disbursementDetailListItemsList);
    }
Exemple #19
0
    // filter out different Department which has same collect point
    public List <CollectionPointItem> DisplayCollectionPoint(int requisitionId)
    {
        List <Disbursement> disbursementList = EFBroker_Disbursement.GetDisbursmentListbyRetrievalID(requisitionId);

        List <CollectionPointItem> collectionPointItemList = new List <CollectionPointItem>();

        List <int> CollectionLocationIDList = new List <int>();

        foreach (Disbursement d in disbursementList)
        {
            if (CollectionLocationIDList.Count != 0)
            {
                bool add = true;
                foreach (int cID in CollectionLocationIDList)
                {
                    if (d.Department.CollectionLocationID == cID)
                    {
                        add = false;
                    }
                }
                if (add)
                {
                    CollectionLocationIDList.Add((int)d.Department.CollectionLocationID);
                    CollectionPointItem c1 = CreateCollectionPointItemList(d);
                    collectionPointItemList.Add(c1);
                }
            }
            else
            {
                CollectionLocationIDList.Add((int)d.Department.CollectionLocationID);
                CollectionPointItem c2 = CreateCollectionPointItemList(d);
                collectionPointItemList.Add(c2);
            }
        }
        return(collectionPointItemList);
    }
Exemple #20
0
    //Add disbursement transaction to Stockcard
    public void AddStockCardTransaction(int disbId)
    {
        string transactionType     = "Disbursement";
        List <Disbursement_Item> d = EFBroker_Disbursement.GetDisbursement_ItemsbyDisbID(disbId);

        string itemCode;
        int    Qty;
        int    balance;

        foreach (Disbursement_Item dI in d)
        {
            itemCode = dI.ItemCode;
            Qty      = (int)dI.ActualQty;
            balance  = (int)dI.Item.BalanceQty - Qty;

            StockCard sc = new StockCard();
            sc.ItemCode            = itemCode;
            sc.TransactionType     = transactionType;
            sc.Qty                 = Qty;
            sc.Balance             = balance;
            sc.TransactionDetailID = disbId;
            EFBroker_StockCard.AddStockTransaction(sc);
        }
    }
Exemple #21
0
    public List <RetrievalListDetailItem> DisplayRetrievalListDetail(int requisitionId)
    {
        List <RetrievalListDetailItem> retrievalListDetailItemDisplayList = new List <RetrievalListDetailItem>();

        //get retrievalStatus by requisitionId

        string retrievalStatus = EFBroker_Disbursement.GetRetrievalStatusByRequisitionId(requisitionId);

        // dictionary with itemcode + totalrequestedQty
        Dictionary <string, int> itemcodeAndTotalRequestedQtyDictionary = new Dictionary <string, int>();

        HashSet <String> uniqueItemcodeHashSet = new HashSet <string>();

        List <Disbursement> disbursementList = EFBroker_Disbursement.GetDisbursmentListbyRetrievalID(requisitionId);

        // remove repeated itemcode in disbursementList
        foreach (Disbursement d in disbursementList)
        {
            foreach (Disbursement_Item dI in d.Disbursement_Item)
            {
                uniqueItemcodeHashSet.Add(dI.ItemCode);
            }
        }

        // accumulate totalRequestedQty if there is same itemCode in Disbursement, then
        foreach (string i in uniqueItemcodeHashSet)
        {
            string itemCode          = i;
            int    totalRequestedQty = 0;
            foreach (Disbursement d in disbursementList)
            {
                foreach (Disbursement_Item dI in d.Disbursement_Item)
                {
                    if (dI.ItemCode == itemCode)
                    {
                        totalRequestedQty += (int)dI.TotalRequestedQty;
                    }
                }
            }
            itemcodeAndTotalRequestedQtyDictionary.Add(itemCode, totalRequestedQty);
        }

        //create RetrievalListDetailItem to display in DisplayRetrievalListDetail base on retrievalStatus
        foreach (KeyValuePair <string, int> kvp in itemcodeAndTotalRequestedQtyDictionary)
        {
            int retrievedQty = 0;
            if (retrievalStatus == "Pending")
            {
                //default retrievedQty is same as totalRequestedQty
                retrievedQty = kvp.Value;
            }
            if (retrievalStatus == "InProgress")
            {
                //retrievedQty is same as value which inputted in warehouse
                retrievedQty = EFBroker_Disbursement.GetRetrievedQtyByRequisitionIdNItemCode(requisitionId, kvp.Key);
            }

            Item   item        = EFBroker_Item.GetItembyItemCode(kvp.Key);
            string bin         = item.Bin;
            string description = item.Description;

            RetrievalListDetailItem retDetail = new RetrievalListDetailItem(bin, description, kvp.Value, kvp.Key, retrievedQty);
            retrievalListDetailItemDisplayList.Add(retDetail);
        }
        return(retrievalListDetailItemDisplayList);
    }
Exemple #22
0
    //


    public void AddDisbursement(int requisitionId, List <int> requisitionNo)
    {
        List <int>    disbursementIDList = new List <int>();
        Disbursement  d = new Disbursement();
        List <int>    requestedByList    = new List <int>(); //EmpID
        List <string> departmentCodeList = new List <string>();

        foreach (int i in requisitionNo)
        {
            requestedByList.Add((int)(EFBroker_Requisition.GetRequisitionByID(i).RequestedBy));
        }

        //foreach requestedByList get depcode
        foreach (int i in requestedByList)
        {
            string departmentCode = EFBroker_DeptEmployee.GetDepartByEmpID(i).DeptCode.ToString();

            if (departmentCodeList.Count() != 0)
            {
                bool add = true;

                foreach (string s in departmentCodeList)
                {
                    if (s == departmentCode)
                    {
                        add = false;
                    }
                }
                if (add)
                {
                    departmentCodeList.Add(departmentCode);
                }
            }
            else
            {
                departmentCodeList.Add(departmentCode);
            }
        }

        //foreach depcode add disbursement + disbDetail
        foreach (string i in departmentCodeList)
        {
            //add Disbursement
            d.RetrievalID = requisitionId;
            d.DeptCode    = i;
            d.Status      = "Pending";
            int disbursementId = EFBroker_Disbursement.AddNewDisbursment(d);

            disbursementIDList.Add(disbursementId);//auto increasement disbursementIDList after SaveChanges
        }
        foreach (int i in disbursementIDList)
        {
            string departmentCode = EFBroker_Disbursement.GetDisbursmentbyDisbID(i).DeptCode;

            foreach (int no in requisitionNo)
            {
                //update requisition table
                Requisition r = new Requisition();
                r = EFBroker_Requisition.GetRequisitionByID(no);

                string dep = EFBroker_DeptEmployee.GetDepartByEmpID(r.RequestedBy ?? 0).DeptCode;//if null, ==0

                if (dep == departmentCode)
                {
                    r.Status         = "InProgress";/////////////////////////////////////////////
                    r.DisbursementID = i;
                    EFBroker_Requisition.UpdateRequisition(r);
                }
            }
            AddDisbursemen_Item(i);
        }
    }
Exemple #23
0
 //Get all Retrieval List
 public List <Retrieval> DisplayRetrievalList()
 {
     return(EFBroker_Disbursement.GetPendingAndProgressRetrievalList());
 }
Exemple #24
0
    //GET DISBURSEMENT DETAIL OBJECT TO DISPLAY
    public DisbursementListItems DisbursementListItemsObj(int disbId)
    {
        Disbursement disb = EFBroker_Disbursement.GetDisbursmentbyDisbID(disbId);

        return(CreateDisbursementListItem(disb));
    }
Exemple #25
0
    protected void Page_Load(object sender, EventArgs e)
    {
        string itemCode     = Request.QueryString["itemCode"];
        string adjustment   = "Adjustment";  //strings for stock card transaction type
        string disbursement = "Disbursement";
        string purchase     = "Purchase";

        if (!ValidatorUtil.isEmpty(itemCode))
        {
            Item             item        = EFBroker_Item.GetItembyItemCode(itemCode);
            string           currentYear = DateTime.Now.Year.ToString();
            List <PriceList> plList      = EFBroker_PriceList.GetPriceListByItemCode(itemCode).Where(c => c.TenderYear == currentYear).ToList();
            if (item != null && plList.Count > 0)
            {
                lblItemCode.Text = item.ItemCode;
                lblItemName.Text = item.Description;
                lblBin.Text      = item.Bin;
                lblUom.Text      = item.UnitOfMeasure;

                foreach (PriceList pl in plList)
                {
                    switch (pl.SupplierRank)
                    {
                    case 1:
                        lblSupp1.Text = pl.SupplierCode;
                        break;

                    case 2:
                        lblSupp2.Text = pl.SupplierCode;
                        break;

                    case 3:
                        lblSupp3.Text = pl.SupplierCode;
                        break;
                    }
                }

                if (plList.Count < 3)   // N/A on supplier labels if there are less than 3 suppliers
                {
                    lblSupp3.Text = "N/A";
                    if (plList.Count < 2)
                    {
                        lblSupp2.Text = "N/A";
                    }
                }

                List <StockCard>           scList        = EFBroker_StockCard.GetStockCardsByItemCode(itemCode);
                List <StockCardDisplayRow> scDisplayList = new List <StockCardDisplayRow>();

                foreach (StockCard sc in scList)
                {
                    if (sc.TransactionType == adjustment || sc.TransactionType == disbursement || sc.TransactionType == purchase)
                    {
                        //Possible to display 3 types of stock card entries (each accessing different tables)
                        StockCardDisplayRow scdr = new StockCardDisplayRow();
                        if (sc.TransactionType == adjustment)
                        {
                            Discrepency d = EFBroker_Discrepancy.GetDiscrepancyById((int)sc.TransactionDetailID);
                            scdr.TransDate    = ((DateTime)d.Date).ToShortDateString();
                            scdr.TransDetails = "Adjustment ID. " + sc.TransactionDetailID;
                            scdr.Quantity     = "ADJ " + GetQuantityString((int)sc.Qty);
                        }
                        else if (sc.TransactionType == purchase)
                        {
                            PurchaseOrder po = EFBroker_PurchaseOrder.GetPurchaseOrderById((int)sc.TransactionDetailID);
                            scdr.TransDate    = ((DateTime)po.ExpectedDate).ToShortDateString();
                            scdr.TransDetails = "Supplier - " + po.SupplierCode;
                            Item_PurchaseOrder ipo = EFBroker_PurchaseOrder.GetPurchaseOrderItem(po.PurchaseOrderID, itemCode);
                            scdr.Quantity = GetQuantityString((int)sc.Qty);
                        }
                        else if (sc.TransactionType == disbursement)
                        {
                            Disbursement db = EFBroker_Disbursement.GetDisbursmentbyDisbID((int)sc.TransactionDetailID);
                            scdr.TransDate    = ((DateTime)db.CollectionDate).ToShortDateString();
                            scdr.TransDetails = EFBroker_DeptEmployee.GetDepartByDepCode(db.DeptCode).DeptName;
                            scdr.Quantity     = GetQuantityString((int)sc.Qty);
                        }
                        scdr.Balance = (int)sc.Balance;
                        scDisplayList.Add(scdr);
                    }
                }

                gvTransactions.DataSource = scDisplayList;
                gvTransactions.DataBind();
            }
            else    //if item is not found or no entries found in price list table
            {
                Response.Redirect(LoginController.StationeryCatalogueURI);
            }
        }
        else   //if there is no itemCode in querystring
        {
            Response.Redirect(LoginController.StationeryCatalogueURI);
        }
    }
Exemple #26
0
 //Get Current Disbursement
 public Disbursement GetCurrentDisbursement(int disbId)
 {
     return(EFBroker_Disbursement.GetDisbursmentbyDisbID(disbId));
 }