public ActionResult EditDisbursementList(string dept_id, string dept_name)
        {
            DisbursementDAO    disbursementDAO    = new DisbursementDAO();
            CollectionPointDAO collectionPointDAO = new CollectionPointDAO();
            CollectionPoint    collectionPoint    = collectionPointDAO.GetCollectionPointByDeptID(dept_id);


            List <ItemRequest> itemList = disbursementDAO.GetDisburseItemsForRep(dept_id);

            DisbursementVM disbursement = new DisbursementVM();

            disbursement.DeptName            = dept_name;
            disbursement.DeptId              = dept_id;
            disbursement.CollectionPointName = collectionPoint.Name;
            disbursement.ItemList            = itemList;

            return(View(disbursement));
        }
        public List <DisbursementVM> WebGetDisbursementsByClerk(int clerkID)
        {
            List <DisbursementVM> disbursements = new List <DisbursementVM>();

            SqlDataReader  reader = null;
            DisbursementVM dis    = null;

            try
            {
                connection.Open();
                string     sql = "spGetRepresentative";
                SqlCommand cmd = new SqlCommand(sql, connection);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@ClerkID", clerkID);
                reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    dis = new DisbursementVM()
                    {
                        DeptId   = reader["ID"].ToString(),
                        RepName  = reader["RepName"].ToString(),
                        DeptName = reader["DeptName"].ToString()
                    };
                    disbursements.Add(dis);
                    System.Diagnostics.Debug.WriteLine("MDis Dept  " + dis.DeptId);
                }
                reader.Close();
                List <ItemRequest> items = new List <ItemRequest>();
                sql             = "spDisbursementsByClerk";
                cmd             = new SqlCommand(sql, connection);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@ClerkID", clerkID);
                reader = cmd.ExecuteReader();
                ItemRequest itemRequest = null;
                string      deptId;
                int         prev = -1;
                while (reader.Read())
                {
                    itemRequest = new ItemRequest()
                    {
                        Description = reader["Description"].ToString(),
                        ItemId      = reader["ItemID"].ToString(),
                        NeededQty   = (int)reader["Total"],
                        ActualQty   = (int)reader["Actual"]
                    };
                    deptId = reader["deptID"].ToString();
                    System.Diagnostics.Debug.WriteLine("Dept Reader  " + deptId);

                    // var dis = from d in disbursements where d.DeptId.Equals(deptId) select d;
                    int index = disbursements.FindIndex(d => d.DeptId.Equals(deptId));
                    if (prev == -1)
                    {
                        prev = index;
                    }

                    if (index != -1)
                    {
                        if (prev != index)
                        {
                            items = new List <ItemRequest>();
                        }

                        items.Add(itemRequest);
                        disbursements[index].ItemList          = items;
                        disbursements[index].CollectionPointID = (int)reader["CollectionPointID"];
                        prev = index;
                    }
                }
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.WriteLine("Error  " + e.Message);

                return(null);
            }
            finally
            {
                if (reader != null)
                {
                    reader.Close();
                }
                connection.Close();
            }
            return(disbursements);
        }