public Constants.ACTION_STATUS SetCollectionStatus(Constants.COLLECTION_STATUS collectionStatus, List <string> collectionIdList)
        {
            foreach (string collectionId in collectionIdList)
            {
                RequisitionCollection requisitionCollection = new RequisitionCollection();
                requisitionCollection.Id     = Converter.objToInt(collectionId);
                requisitionCollection        = requisitionCollectionBroker.GetRequisitionCollection(requisitionCollection);
                requisitionCollection.Status = Converter.objToInt(collectionStatus);
                requisitionCollectionBroker.Update(requisitionCollection);
                if (collectionStatus == Constants.COLLECTION_STATUS.UNCOLLECTED)
                {
                    CollectionMissed collectionMissed = new CollectionMissed();
                    collectionMissed.Id          = collectionMissedBroker.GetCollectionMissedId();
                    collectionMissed.Department  = requisitionCollection.Department;
                    collectionMissed.CreatedBy   = Util.GetEmployee(employeeBroker);
                    collectionMissed.CreatedDate = DateTime.Now;
                    collectionMissed.Status      = Converter.objToInt(Constants.VISIBILITY_STATUS.SHOW);
                    collectionMissedBroker.Insert(collectionMissed);
                }
            }



            return(SystemStoreInventorySystemUtil.Constants.ACTION_STATUS.UNKNOWN);
        }
Esempio n. 2
0
        public Constants.ACTION_STATUS SetDeliveryDate(int retrievalNo, DateTime deliveryDate)
        {
            Constants.ACTION_STATUS setStatus = Constants.ACTION_STATUS.UNKNOWN;

            Retrieval retrieval = retrievalList.Find(delegate(Retrieval r) { return(r.Id == retrievalNo); });


            foreach (RetrievalDetail retrievalDetail in retrieval.RetrievalDetails)
            {
                Requisition requisition = new Requisition();
                requisition.Id = retrievalDetail.Requisition.Id;
                requisition    = requisitionBroker.GetRequisition(requisition);

                RequisitionCollectionDetail requisitionCollectionDetail = requisitionCollectionBroker.GetRequisitionCollectionDetail(requisition);

                RequisitionCollection requisitionCollection = new RequisitionCollection();
                requisitionCollection.Id           = requisitionCollectionDetail.RequisitionCollection.Id;
                requisitionCollection              = requisitionCollectionBroker.GetRequisitionCollection(requisitionCollection);
                requisitionCollection.DeliveryDate = DateTime.Now;
                requisitionCollection.DeliveryBy   = Util.GetEmployee(employeeBroker);

                requisitionCollectionBroker.Update(requisitionCollection);
            }

            return(setStatus);
        }
Esempio n. 3
0
        /// <summary>
        ///     Refresh requisition list after withdraw one requisition
        ///     Created By:JinChengCheng
        ///     Created Date:26-01-2012
        ///     Modified By:
        ///     Modified Date:
        ///     Modification Reason:
        ///     Modified By:
        ///     Modified Date:
        ///     Modification Reason:
        /// </summary>
        /// <param name="requisitionId"></param>
        /// <returns>The return type of this method is datatable.</returns>
        public Constants.ACTION_STATUS Setstatus(string requisitionId, Constants.REQUISITION_STATUS Reqstatus, string remarks, DataTable dt)
        {
            Constants.ACTION_STATUS status = Constants.ACTION_STATUS.UNKNOWN;
            requisition = RequisitionList.Find(delegate(Requisition req) { return(req.Id.Contains(requisitionId)); });
            if (Reqstatus != Constants.REQUISITION_STATUS.REJECTED)
            {
                foreach (RequisitionDetail temp in requisition.RequisitionDetails)
                {
                    DataRow[] dr = dt.Select(" ItemCode = '" + temp.Item.Id + "'");
                    if (dr != null && dr.Length > 0)
                    {
                        temp.Qty          = Convert.ToInt16(dr[0][1].ToString());
                        temp.DeliveredQty = Convert.ToInt16(dr[0][2].ToString());
                    }
                }
            }



            requisition.Remarks = remarks;
            requisition.Status  = (int)(Reqstatus);
            requisitionBroker.Update(requisition);

            if (Reqstatus == Constants.REQUISITION_STATUS.COMPLETE)
            {
                RequisitionCollection RC = null;

                //Get all submitted requisitions
                RequisitionCollectionDetail rcDetails = requisitionCollectionBroker.GetAllRequisitionCollectionDetail(requisitionId);

                if (rcDetails != null)
                {
                    RC = requisitionCollectionBroker.GetAllRequisitionCollectionByRequisitionCollectionID(rcDetails.RequisitionCollection.Id.ToString());
                }

                foreach (RequisitionCollectionDetail rcd in RC.RequisitionCollectionDetails)
                {
                    if (rcd.Requisition.Status == (int)Constants.REQUISITION_STATUS.COMPLETE)
                    {
                        RC.Status = (int)Constants.COLLECTION_STATUS.COLLECTED;
                    }
                    else
                    {
                        RC.Status = (int)Constants.COLLECTION_STATUS.NEED_TO_COLLECT;
                    }
                }

                requisitionCollectionBroker.Update(RC);
            }
            return(status);
        }
        public Constants.ACTION_STATUS UpdateRequisitionCollection(Dictionary <string, int> itemsCollected)
        {
            Constants.ACTION_STATUS updateStatus = Constants.ACTION_STATUS.UNKNOWN;

            int addedItem = 0;

            foreach (string key in itemsCollected.Keys)
            {
                if (requisitionCollection.RequisitionCollectionItems.Where(x => x.Item.Id == key).Count() > 0)
                {
                    RequisitionCollectionItem requisitionCollectionItem = requisitionCollection.RequisitionCollectionItems.Where(x => x.Item.Id == key).First();
                    requisitionCollectionItem.Qty = itemsCollected[key];
                }
                else
                {
                    Item item = new Item();
                    item.Id = key;
                    item    = itemBroker.GetItem(item);

                    Employee employee = new Employee();
                    employee.Id = currentEmployee.Id;
                    employee    = employeeBroker.GetEmployee(employee);

                    requisitionCollection.RequisitionCollectionItems.Add(new RequisitionCollectionItem(requisitionCollectionItemBroker.GetRequisitionCollectionItemId() + (addedItem++), requisitionCollection, item, itemsCollected[key], DateTime.Now, employee, Converter.objToInt(Constants.VISIBILITY_STATUS.SHOW)));
                }
            }

            if (requisitionCollectionBroker.Update(requisitionCollection) == Constants.DB_STATUS.SUCCESSFULL)
            {
                updateStatus = Constants.ACTION_STATUS.SUCCESS;
            }
            else
            {
                updateStatus = Constants.ACTION_STATUS.FAIL;
            }

            return(updateStatus);
        }
        public ManageStationeryRetrievalListControl(object obj)
        {
            if (obj is List<RequisitionCollection>)
            {
                init();
                requisitionCollectionBroker = new RequisitionCollectionBroker(inventory);
                List<RequisitionCollection> requisitionCollectionList = (List<RequisitionCollection>)obj;

                retrieval = new Retrieval(retrievalBroker.GetRetrievalId(), DateTime.Now, Util.GetEmployee(employeeBroker), Converter.objToInt(Constants.VISIBILITY_STATUS.SHOW));

                retrievalList = new Dictionary<string, List<object>>();
                unfulfilledRetrievalList = new Dictionary<string, List<object>>();

                foreach (RequisitionCollection requisitionCollection in requisitionCollectionList)
                {
                    foreach (RequisitionCollectionDetail requisitionCollectionDetail in requisitionCollection.RequisitionCollectionDetails)
                    {
                        foreach (RequisitionDetail requisitionDetail in requisitionCollectionDetail.Requisition.RequisitionDetails)
                        {
                            if (unfulfilledRetrievalList.ContainsKey(requisitionDetail.Item.Id.Trim()))
                            {
                                retrievalInfo = unfulfilledRetrievalList[requisitionDetail.Item.Id];
                                retrievalInfo[2] = Converter.objToInt(retrievalInfo[2]) + Converter.objToInt(requisitionDetail.Qty);
                                ((RetrievalTable)retrievalInfo[4]).Add(requisitionCollectionDetail.Requisition.Department.Name, requisitionDetail.Qty, 0, requisitionCollectionDetail.Requisition.CreatedDate);

                                // have the same total with current balance / fulfilled
                                //if (Converter.objToInt(retrievalInfo[2]) <= Converter.objToInt(retrievalInfo[3]))
                                //{
                                //    ((RetrievalTable)retrievalInfo[4]).FullFill();
                                //    retrievalList.Add(requisitionDetail.Item.Id, retrievalInfo);
                                //    unfulfilledRetrievalList.Remove(requisitionDetail.Item.Id);
                                //}
                                //else
                                //{
                                    unfulfilledRetrievalList[requisitionDetail.Item.Id] = retrievalInfo;
                                //}
                            }
                            else
                            {
                                retrievalInfo = new List<object>();
                                retrievalInfo.Add(requisitionDetail.Item.Description);
                                retrievalInfo.Add(requisitionDetail.Item.Bin);
                                retrievalInfo.Add(requisitionDetail.Qty);
                                int currentItemBalance = itemBroker.GetCurrentBalance(requisitionDetail.Item);
                                retrievalInfo.Add(currentItemBalance);
                                retrievalInfo.Add(new RetrievalTable(requisitionCollectionDetail.Requisition.Department.Name, requisitionDetail.Qty, 0, requisitionCollectionDetail.Requisition.CreatedDate));

                                //if (requisitionDetail.Qty <= currentItemBalance)
                                //{
                                //    retrievalList.Add(requisitionDetail.Item.Id, retrievalInfo);
                                //}
                                //else
                                //{
                                    unfulfilledRetrievalList.Add(requisitionDetail.Item.Id.Trim(), retrievalInfo);
                                //}
                            }
                        }
                    }
                    requisitionCollection.Status = Converter.objToInt(Constants.COLLECTION_STATUS.NEED_TO_COLLECT);
                    requisitionCollectionBroker.Update(requisitionCollection);
                }

                List<string> keyToBeRemoved = new List<string>();
                foreach (string key in unfulfilledRetrievalList.Keys)
                {
                    retrievalInfo = unfulfilledRetrievalList[key];
                    if (((RetrievalTable)retrievalInfo[4]).GetTotalQty("NeededQty") <= Converter.objToInt(retrievalInfo[3]))
                    {
                        ((RetrievalTable)retrievalInfo[4]).FullFill();
                        retrievalList.Add(key, retrievalInfo);
                        keyToBeRemoved.Add(key);
                    }
                }

                foreach (string key in keyToBeRemoved)
                {
                    unfulfilledRetrievalList.Remove(key);
                }

                int addedId = 0;

                foreach (string key in retrievalList.Keys)
                {
                    retrievalInfo = retrievalList[key];
                    Item item = new Item();
                    item.Id = key;
                    item = itemBroker.GetItem(item);

                    foreach(DataRow dr in ((RetrievalTable)retrievalInfo[4]).Rows)
                    {
                        RetrievalDetail retrievalDetail = new RetrievalDetail();
                        retrievalDetail.Id = retrievalBroker.GetRetrievalDetailId() + (addedId++);
                        retrievalDetail.Item = item;

                        Department department = new Department();
                        department.Name = dr["Department"].ToString();
                        department = departmentBroker.GetDepartment(department);
                        retrievalDetail.Department = department;

                        retrievalDetail.NeededQty = Converter.objToInt(dr["NeededQty"]);
                        retrievalDetail.ActualQty = Converter.objToInt(dr["ActualQty"]);

                        retrieval.RetrievalDetails.Add(retrievalDetail);
                    }
                }

                foreach (string key in unfulfilledRetrievalList.Keys)
                {
                    retrievalInfo = unfulfilledRetrievalList[key];
                    Item item = new Item();
                    item.Id = key;
                    item = itemBroker.GetItem(item);

                    foreach (DataRow dr in ((RetrievalTable)retrievalInfo[4]).Rows)
                    {
                        RetrievalDetail retrievalDetail = new RetrievalDetail();
                        retrievalDetail.Id = retrievalBroker.GetRetrievalDetailId() + (addedId++);
                        retrievalDetail.Item = item;

                        Department department = new Department();
                        department.Name = dr["Department"].ToString();
                        department = departmentBroker.GetDepartment(department);
                        retrievalDetail.Department = department;

                        retrievalDetail.NeededQty = Converter.objToInt(dr["NeededQty"]);
                        retrievalDetail.ActualQty = Converter.objToInt(dr["ActualQty"]);

                        retrieval.RetrievalDetails.Add(retrievalDetail);
                    }
                }

                if (retrievalBroker.Insert(retrieval) == Constants.DB_STATUS.FAILED)
                {
                    // do something
                }
            }
        }
        public ManageStationeryRetrievalListControl(object obj)
        {
            if (obj is List <RequisitionCollection> )
            {
                init();
                requisitionCollectionBroker = new RequisitionCollectionBroker(inventory);
                List <RequisitionCollection> requisitionCollectionList = (List <RequisitionCollection>)obj;

                retrieval = new Retrieval(retrievalBroker.GetRetrievalId(), DateTime.Now, Util.GetEmployee(employeeBroker), Converter.objToInt(Constants.VISIBILITY_STATUS.SHOW));

                retrievalList            = new Dictionary <string, List <object> >();
                unfulfilledRetrievalList = new Dictionary <string, List <object> >();

                foreach (RequisitionCollection requisitionCollection in requisitionCollectionList)
                {
                    foreach (RequisitionCollectionDetail requisitionCollectionDetail in requisitionCollection.RequisitionCollectionDetails)
                    {
                        foreach (RequisitionDetail requisitionDetail in requisitionCollectionDetail.Requisition.RequisitionDetails)
                        {
                            if (unfulfilledRetrievalList.ContainsKey(requisitionDetail.Item.Id.Trim()))
                            {
                                retrievalInfo    = unfulfilledRetrievalList[requisitionDetail.Item.Id];
                                retrievalInfo[2] = Converter.objToInt(retrievalInfo[2]) + Converter.objToInt(requisitionDetail.Qty);
                                ((RetrievalTable)retrievalInfo[4]).Add(requisitionCollectionDetail.Requisition.Department.Name, requisitionDetail.Qty, 0, requisitionCollectionDetail.Requisition.CreatedDate);

                                // have the same total with current balance / fulfilled
                                //if (Converter.objToInt(retrievalInfo[2]) <= Converter.objToInt(retrievalInfo[3]))
                                //{
                                //    ((RetrievalTable)retrievalInfo[4]).FullFill();
                                //    retrievalList.Add(requisitionDetail.Item.Id, retrievalInfo);
                                //    unfulfilledRetrievalList.Remove(requisitionDetail.Item.Id);
                                //}
                                //else
                                //{
                                unfulfilledRetrievalList[requisitionDetail.Item.Id] = retrievalInfo;
                                //}
                            }
                            else
                            {
                                retrievalInfo = new List <object>();
                                retrievalInfo.Add(requisitionDetail.Item.Description);
                                retrievalInfo.Add(requisitionDetail.Item.Bin);
                                retrievalInfo.Add(requisitionDetail.Qty);
                                int currentItemBalance = itemBroker.GetCurrentBalance(requisitionDetail.Item);
                                retrievalInfo.Add(currentItemBalance);
                                retrievalInfo.Add(new RetrievalTable(requisitionCollectionDetail.Requisition.Department.Name, requisitionDetail.Qty, 0, requisitionCollectionDetail.Requisition.CreatedDate));

                                //if (requisitionDetail.Qty <= currentItemBalance)
                                //{
                                //    retrievalList.Add(requisitionDetail.Item.Id, retrievalInfo);
                                //}
                                //else
                                //{
                                unfulfilledRetrievalList.Add(requisitionDetail.Item.Id.Trim(), retrievalInfo);
                                //}
                            }
                        }
                    }
                    requisitionCollection.Status = Converter.objToInt(Constants.COLLECTION_STATUS.NEED_TO_COLLECT);
                    requisitionCollectionBroker.Update(requisitionCollection);
                }

                List <string> keyToBeRemoved = new List <string>();
                foreach (string key in unfulfilledRetrievalList.Keys)
                {
                    retrievalInfo = unfulfilledRetrievalList[key];
                    if (((RetrievalTable)retrievalInfo[4]).GetTotalQty("NeededQty") <= Converter.objToInt(retrievalInfo[3]))
                    {
                        ((RetrievalTable)retrievalInfo[4]).FullFill();
                        retrievalList.Add(key, retrievalInfo);
                        keyToBeRemoved.Add(key);
                    }
                }

                foreach (string key in keyToBeRemoved)
                {
                    unfulfilledRetrievalList.Remove(key);
                }

                int addedId = 0;

                foreach (string key in retrievalList.Keys)
                {
                    retrievalInfo = retrievalList[key];
                    Item item = new Item();
                    item.Id = key;
                    item    = itemBroker.GetItem(item);

                    foreach (DataRow dr in ((RetrievalTable)retrievalInfo[4]).Rows)
                    {
                        RetrievalDetail retrievalDetail = new RetrievalDetail();
                        retrievalDetail.Id   = retrievalBroker.GetRetrievalDetailId() + (addedId++);
                        retrievalDetail.Item = item;

                        Department department = new Department();
                        department.Name            = dr["Department"].ToString();
                        department                 = departmentBroker.GetDepartment(department);
                        retrievalDetail.Department = department;

                        retrievalDetail.NeededQty = Converter.objToInt(dr["NeededQty"]);
                        retrievalDetail.ActualQty = Converter.objToInt(dr["ActualQty"]);

                        retrieval.RetrievalDetails.Add(retrievalDetail);
                    }
                }

                foreach (string key in unfulfilledRetrievalList.Keys)
                {
                    retrievalInfo = unfulfilledRetrievalList[key];
                    Item item = new Item();
                    item.Id = key;
                    item    = itemBroker.GetItem(item);

                    foreach (DataRow dr in ((RetrievalTable)retrievalInfo[4]).Rows)
                    {
                        RetrievalDetail retrievalDetail = new RetrievalDetail();
                        retrievalDetail.Id   = retrievalBroker.GetRetrievalDetailId() + (addedId++);
                        retrievalDetail.Item = item;

                        Department department = new Department();
                        department.Name            = dr["Department"].ToString();
                        department                 = departmentBroker.GetDepartment(department);
                        retrievalDetail.Department = department;

                        retrievalDetail.NeededQty = Converter.objToInt(dr["NeededQty"]);
                        retrievalDetail.ActualQty = Converter.objToInt(dr["ActualQty"]);

                        retrieval.RetrievalDetails.Add(retrievalDetail);
                    }
                }

                if (retrievalBroker.Insert(retrieval) == Constants.DB_STATUS.FAILED)
                {
                    // do something
                }
            }
        }