Exemple #1
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();
                //
            }
        }
    }
Exemple #2
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 #3
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);
    }