Пример #1
0
    public static void UpdateRequisitionStatus(int reqID, string status)
    {
        Requisition r = EFBroker_Requisition.GetRequisitionByID(reqID);

        r.Status = status;
        EFBroker_Requisition.UpdateRequisition(r);
    }
Пример #2
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);
    }
Пример #3
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);
        }
    }