Esempio n. 1
0
        public static MemberCollection SelectByNodeAndWfId(string VBNODE_ID, string WF_ID, string q, string TOP, string Username)
        {
            MemberCollection List = new MemberCollection();

            SqlParameter[] obj = new SqlParameter[5];
            if (string.IsNullOrEmpty(VBNODE_ID))
            {
                obj[0] = new SqlParameter("VBNODE_ID", DBNull.Value);
            }
            else
            {
                obj[0] = new SqlParameter("VBNODE_ID", VBNODE_ID);
            }
            obj[1] = new SqlParameter("WF_ID", WF_ID);
            obj[2] = new SqlParameter("q", q);
            obj[3] = new SqlParameter("TOP", TOP);
            obj[4] = new SqlParameter("Username", Username);
            using (IDataReader rd = SqlHelper.ExecuteReader(DAL.con(), CommandType.StoredProcedure, "sp_tblMember_Select_SelectByNodeAndWfId_linhnx", obj))
            {
                while (rd.Read())
                {
                    List.Add(getFromReaderAuto(rd));
                }
            }
            return(List);
        }
Esempio n. 2
0
        public MemberCollection GetMembers(long start, long count, string[] properties) //, params MemberFilter[] filters)
        {
            if (_obj != null)
            {
                MemberCollection coll = new MemberCollection();
                foreach (Microsoft.AnalysisServices.AdomdClient.Member member in _obj.GetMembers(start, count, properties))
                {
                    coll.Add(new Member(member));
                }
                return(coll);
            }

            MemberCollection f()
            {
                MemberCollection coll = new MemberCollection();

                foreach (ExcelAdomdClientReference::Microsoft.AnalysisServices.AdomdClient.Member member in _objExcel.GetMembers(start, count, properties))
                {
                    coll.Add(new Member(member));
                }
                return(coll);
            }

            return(f());
        }
Esempio n. 3
0
        private void RefreshDataGrid()
        {
            string query = "SELECT  ID, NAME, AUTH, PASSWORD FROM TB_MEMBERS";

            using (DataTable dt = DBSqlite.GetSelectData(query))
            {
                if (dt.Rows.Count > 0)
                {
                    MemberCollection.Clear();

                    foreach (DataRow dr in dt.Rows)
                    {
                        members user = new members()
                        {
                            IsSelect = false,
                            ID       = dr["ID"].ToString(),
                            NAME     = dr["NAME"].ToString(),
                            AUTH     = dr["AUTH"].ToString(),
                            PASSWORD = dr["PASSWORD"].ToString()
                        };

                        MemberCollection.Add(user);
                    }
                }
            }
        }
Esempio n. 4
0
 public MemberCollection GetMembers(long start, long count, string[] properties, params MemberFilter[] filters)
 {
     if (_obj != null)
     {
         MemberCollection coll = new MemberCollection();
         foreach (AsAdomdClient.Member member in _obj.GetMembers(start, count, properties, new AsAdomdClient.MemberFilter[] { }))
         {
             coll.Add(new Member(member));
         }
         return(coll);
     }
     else
     {
         ExcelAdoMdConnections.ReturnDelegate <MemberCollection> f = delegate
         {
             MemberCollection coll = new MemberCollection();
             foreach (ExcelAdomdClient.Member member in _objExcel.GetMembers(start, count, properties, new ExcelAdomdClient.MemberFilter[] { }))
             {
                 coll.Add(new Member(member));
             }
             return(coll);
         };
         return(f());
     }
 }
Esempio n. 5
0
 // This overload is for more complicated scenarios
 private TestFlowElement AddTestFlowLink(TestFlowElement flowchartElement)
 {
     if (!_elements.Contains(flowchartElement))
     {
         _elements.Add(flowchartElement);
     }
     return(flowchartElement);
 }
Esempio n. 6
0
        public static MemberCollection SelectLanhDaoVanBanDi()
        {
            MemberCollection List = new MemberCollection();

            using (IDataReader rd = SqlHelper.ExecuteReader(DAL.con(), CommandType.StoredProcedure, "sp_tblMember_Select_SelectLanhDaoVanBanDi_linhnx"))
            {
                while (rd.Read())
                {
                    List.Add(getFromReader(rd));
                }
            }
            return(List);
        }
Esempio n. 7
0
        public static MemberCollection SelectGianHangUsername()
        {
            MemberCollection List = new MemberCollection();

            using (IDataReader rd = SqlHelper.ExecuteReader(DAL.con(), CommandType.StoredProcedure
                                                            , "sp_tblMember_Select_SelectUsername_SelectGianHang_Hoangda"))
            {
                while (rd.Read())
                {
                    List.Add(getFromReader(rd));
                }
            }
            return(List);
        }
Esempio n. 8
0
        public static MemberCollection SelectAllByCoQuan(string CQ_ID)
        {
            MemberCollection List = new MemberCollection();

            SqlParameter[] obj = new SqlParameter[1];
            obj[0] = new SqlParameter("MEM_CQ_ID", CQ_ID);
            using (IDataReader rd = SqlHelper.ExecuteReader(DAL.con(), CommandType.StoredProcedure, "sp_tblMember_Select_SelectAllByCoQuan_linhnx", obj))
            {
                while (rd.Read())
                {
                    List.Add(getFromReader(rd));
                }
            }
            return(List);
        }
Esempio n. 9
0
        public static MemberCollection SelectLanhDaoByCQID(string MEM_CQ_ID)
        {
            MemberCollection List = new MemberCollection();

            SqlParameter[] obj = new SqlParameter[1];
            obj[0] = new SqlParameter("MEM_CQ_ID", Convert.ToInt32(MEM_CQ_ID));
            using (IDataReader rd = SqlHelper.ExecuteReader(DAL.con(), CommandType.StoredProcedure, "sp_tblMember_Select_SelectLanhDaoByCQID_hungpm", obj))
            {
                while (rd.Read())
                {
                    List.Add(getFromReader(rd));
                }
            }
            return(List);
        }
Esempio n. 10
0
        /// <summary>
        /// Loads a collection of Member objects from the database.
        /// </summary>
        /// <returns>A collection containing all of the Member objects in the database.</returns>
        public static MemberCollection LoadCollection(string spName, SqlParameter[] parms)
        {
            MemberCollection result = new MemberCollection();

            using (SqlDataReader reader = SqlHelper.Default.ExecuteReader(spName, parms))
            {
                while (reader.Read())
                {
                    Member tmp = new Member();
                    tmp.LoadFromReader(reader);
                    result.Add(tmp);
                }
            }
            return(result);
        }
Esempio n. 11
0
        public static MemberCollection SelectCungDonVi(string Username)
        {
            MemberCollection List = new MemberCollection();

            SqlParameter[] obj = new SqlParameter[1];
            obj[0] = new SqlParameter("Username", Username);
            using (IDataReader rd = SqlHelper.ExecuteReader(DAL.con(), CommandType.StoredProcedure
                                                            , "sp_tblMember_Select_SelectCungDonVi_linhnx", obj))
            {
                while (rd.Read())
                {
                    List.Add(getFromReader(rd));
                }
            }
            return(List);
        }
Esempio n. 12
0
        public virtual object SearchUser(HttpContext context)
        {
            YZRequest request             = new YZRequest(context);
            string    keyword             = request.GetString("keyword", null);
            bool      includeDisabledUser = request.GetBool("includeDisabledUser", false);

            //将数据转化为Json集合
            JObject rv = new JObject();

            JArray children = new JArray();

            rv[YZJsonProperty.children] = children;

            if (!String.IsNullOrEmpty(keyword))
            {
                using (BPMConnection cn = new BPMConnection())
                {
                    cn.WebOpen();
                    UserCollection users = OrgSvr.SearchUser(cn, keyword, includeDisabledUser);
                    foreach (User user in users)
                    {
                        MemberCollection positions = OrgSvr.GetUserPositions(cn, user.Account);
                        MemberCollection members   = new MemberCollection();

                        if (positions.Count != 0)
                        {
                            members.Add(positions[0]);
                        }

                        foreach (Member member in members)
                        {
                            JObject jItem      = this.JObjectFromMember(member, user);
                            string  oufullName = member.GetParentOU(cn).GetFriendlyFullName(cn);
                            jItem["parentouFriendlyName"] = oufullName;
                            jItem["memberFriendlyName"]   = oufullName + "/" + user.Account;
                            jItem["search"] = true;
                            children.Add(jItem);
                        }
                    }
                }
            }

            //输出数据
            return(rv);
        }
Esempio n. 13
0
        private void updateMember()
        {
            MemberCollection.Clear();
            string csvText;

            using (StreamReader streamReader = new StreamReader("./member.txt", Encoding.GetEncoding("UTF-8")))
            {
                csvText = streamReader.ReadToEnd();
            }

            using (StringReader stringReader = new StringReader(csvText))
            {
                while (stringReader.Peek() > -1)
                {
                    MemberCollection.Add(new Person {
                        Name = stringReader.ReadLine()
                    });
                }
            }
        }
Esempio n. 14
0
        public static MemberCollection SelectLamDichVu(string TVDV_ID, string Username)
        {
            var list = new MemberCollection();
            var obj  = new SqlParameter[2];

            obj[0] = new SqlParameter("TVDV_ID", TVDV_ID);
            if (string.IsNullOrEmpty(Username))
            {
                obj[1] = new SqlParameter("Username", DBNull.Value);
            }
            else
            {
                obj[1] = new SqlParameter("Username", Username);
            }
            using (IDataReader rd = SqlHelper.ExecuteReader(DAL.con(), CommandType.StoredProcedure, "sp_tblMember_select_selectLamDichVu_linhnx", obj))
            {
                while (rd.Read())
                {
                    list.Add(getFromReader(rd));
                }
            }
            return(list);
        }
Esempio n. 15
0
        public static MemberCollection UserOnline(string Username, int Top)
        {
            MemberCollection List = new MemberCollection();

            SqlParameter[] obj = new SqlParameter[2];
            if (string.IsNullOrEmpty(Username))
            {
                obj[0] = new SqlParameter("Username", DBNull.Value);
            }
            else
            {
                obj[0] = new SqlParameter("Username", Username);
            }
            obj[1] = new SqlParameter("Top", Top);
            using (IDataReader rd = SqlHelper.ExecuteReader(DAL.con(), CommandType.StoredProcedure, "sp_tblMember_Select_UserOnline_linhnx", obj))
            {
                while (rd.Read())
                {
                    List.Add(getFromReaderOnline(rd));
                }
            }
            return(List);
        }
Esempio n. 16
0
 public MemberCollection GetMembers(long start, long count, string[] properties, params MemberFilter[] filters)
 {
     if (_obj != null)
     {
         MemberCollection coll = new MemberCollection();
         foreach (Microsoft.AnalysisServices.AdomdClient.Member member in _obj.GetMembers(start, count, properties, new Microsoft.AnalysisServices.AdomdClient.MemberFilter[] { }))
         {
             coll.Add(new Member(member));
         }
         return coll;
     }
     else
     {
         ExcelAdoMdConnections.ReturnDelegate<MemberCollection> f = delegate
         {
             MemberCollection coll = new MemberCollection();
             foreach (ExcelAdomdClientReference::Microsoft.AnalysisServices.AdomdClient.Member member in _objExcel.GetMembers(start, count, properties, new ExcelAdomdClientReference::Microsoft.AnalysisServices.AdomdClient.MemberFilter[] { }))
             {
                 coll.Add(new Member(member));
             }
             return coll;
         };
         return f();
     }
 }
Esempio n. 17
0
        void Show_Cross_Girder()
        {
            MemberCollection mc = new MemberCollection(BridgeDesign.Analysis.Members);

            MemberCollection sort_membs = new MemberCollection();

            double z_min = double.MaxValue;
            double x     = double.MaxValue;
            int    indx  = -1;

            int i = 0;
            int j = 0;

            List <double> list_z = new List <double>();

            List <MemberCollection> list_mc = new List <MemberCollection>();

            double last_z = 0.0;

            //double z_min = double.MaxValue;

            while (mc.Count != 0)
            {
                indx = -1;
                for (i = 0; i < mc.Count; i++)
                {
                    if (z_min > mc[i].StartNode.Z)
                    {
                        z_min = mc[i].StartNode.Z;
                        indx  = i;
                    }
                }
                if (indx != -1)
                {
                    if (!list_z.Contains(z_min))
                    {
                        list_z.Add(z_min);
                    }

                    sort_membs.Add(mc[indx]);
                    mc.Members.RemoveAt(indx);
                    z_min = double.MaxValue;
                }
            }



            List <string> list_arr = new List <string>();


            last_z = -1.0;



            //Outer Long Girder
            MemberCollection outer_long  = new MemberCollection();
            MemberCollection inner_long  = new MemberCollection();
            MemberCollection inner_cross = new MemberCollection();


            //z_min = Truss_Analysis.Analysis.Joints.MinZ;
            //double z_max = Truss_Analysis.Analysis.Joints.MaxZ;

            //Chiranjit [2011 07 09]
            //Store Outer Girder Members
            int count = 0;

            z_min = 0.0;
            for (i = 0; i < sort_membs.Count; i++)
            {
                if (z_min < sort_membs[i].StartNode.Z)
                {
                    z_min = sort_membs[i].StartNode.Z;
                    count++;
                }
                if (z_min < sort_membs[i].EndNode.Z)
                {
                    z_min = sort_membs[i].EndNode.Z;
                    count++;
                }
                //For Outer Girder
                if (count == 2)
                {
                    break;
                }
                //if (count == 0) break;
            }

            //z_min = WidthCantilever;
            double z_max = z_min;


            //Store inner and outer Long Girder
            for (i = 0; i < sort_membs.Count; i++)
            {
                if (((sort_membs[i].StartNode.Z == z_min) || (sort_membs[i].StartNode.Z == z_max)) &&
                    sort_membs[i].StartNode.Z == sort_membs[i].EndNode.Z)
                {
                    outer_long.Add(sort_membs[i]);
                }
                else if (((sort_membs[i].StartNode.Z != z_min) && (sort_membs[i].StartNode.Z != z_max)) &&
                         sort_membs[i].StartNode.Z == sort_membs[i].EndNode.Z)
                {
                    inner_long.Add(sort_membs[i]);
                }
            }

            //Store Cross Girders
            for (i = 0; i < sort_membs.Count; i++)
            {
                if (outer_long.Contains(sort_membs[i]) == false &&
                    inner_long.Contains(sort_membs[i]) == false)
                {
                    inner_cross.Add(sort_membs[i]);
                }
            }



            //Find X MIN    X MAX   for outer long girder
            double x_min, x_max;

            List <double> list_outer_xmin  = new List <double>();
            List <double> list_inner_xmin  = new List <double>();
            List <double> list_inner_cur_z = new List <double>();
            List <double> list_outer_cur_z = new List <double>();

            List <double> list_outer_xmax = new List <double>();
            List <double> list_inner_xmax = new List <double>();


            x_min = double.MaxValue;
            x_max = double.MinValue;

            last_z = outer_long[0].StartNode.Z;
            for (i = 0; i < outer_long.Count; i++)
            {
                if (last_z == outer_long[i].StartNode.Z)
                {
                    if (x_min > outer_long[i].StartNode.X)
                    {
                        x_min = outer_long[i].StartNode.X;
                    }
                    if (x_max < outer_long[i].EndNode.X)
                    {
                        x_max = outer_long[i].EndNode.X;
                    }
                }
                else
                {
                    list_outer_xmax.Add(x_max);
                    list_outer_xmin.Add(x_min);
                    list_outer_cur_z.Add(last_z);

                    x_min = outer_long[i].StartNode.X;
                    x_max = outer_long[i].EndNode.X;
                }
                last_z = outer_long[i].StartNode.Z;
            }

            list_outer_xmax.Add(x_max);
            list_outer_xmin.Add(x_min);
            list_outer_cur_z.Add(last_z);

            x_min = double.MaxValue;
            x_max = double.MinValue;

            last_z = inner_long.Count > 0 ? inner_long[0].StartNode.Z : 0.0;

            for (i = 0; i < inner_long.Count; i++)
            {
                if (last_z == inner_long[i].StartNode.Z)
                {
                    if (x_min > inner_long[i].StartNode.X)
                    {
                        x_min = inner_long[i].StartNode.X;
                    }
                    if (x_max < inner_long[i].EndNode.X)
                    {
                        x_max = inner_long[i].EndNode.X;
                    }
                }
                else
                {
                    list_inner_xmax.Add(x_max);
                    list_inner_xmin.Add(x_min);
                    list_inner_cur_z.Add(last_z);

                    x_min = inner_long[i].StartNode.X;
                    x_max = inner_long[i].EndNode.X;
                }
                last_z = inner_long[i].StartNode.Z;
            }

            list_inner_xmax.Add(x_max);
            list_inner_xmin.Add(x_min);

            list_inner_cur_z.Add(last_z);

            List <int> _deff_joints = new List <int>();
            List <int> _L_4_joints  = new List <int>();
            List <int> _L_2_joints  = new List <int>();
            //Member Forces from Report for Inner girder


            //int cur_node = -1;
            int cur_member = -1;
            // FOR L/2
            string curr_membs_L2_text = "";
            // FOR L/4
            string curr_membs_L4_text = "";
            //FOR Effective Depth
            string curr_membs_Deff_text = "";


            double cur_z = 0.0;
            double cur_y = 0.0;

            double curr_L2_x   = 0.0;
            double curr_L4_x   = 0.0;
            double curr_Deff_x = 0.0;

            curr_membs_L2_text   = "";
            curr_membs_L4_text   = "";
            curr_membs_Deff_text = "";
            cur_member           = -1;

            //if (outer_long.Count > 0)
            //    Bridge_Analysis.Effective_Depth = outer_long[0].Length;

            for (i = 0; i < list_inner_xmax.Count; i++)
            {
                x_max = list_inner_xmax[i];
                x_min = list_inner_xmin[i];

                cur_z = list_inner_cur_z[i];

                curr_L2_x   = (x_max + x_min) / 2.0;
                curr_L4_x   = (curr_L2_x + x_min) / 2.0;
                curr_Deff_x = (BridgeDesign.Analysis.Effective_Depth + x_min);

                cur_y = 0.0;

                for (j = 0; j < inner_long.Count; j++)
                {
                    if ((inner_long[j].EndNode.Y.ToString("0.0") == cur_y.ToString("0.0")) &&
                        (inner_long[j].EndNode.Z.ToString("0.0") == cur_z.ToString("0.0")))
                    {
                        if ((inner_long[j].EndNode.X.ToString("0.0") == curr_L2_x.ToString("0.0")))
                        {
                            cur_member          = inner_long[j].MemberNo;
                            curr_membs_L2_text += cur_member + " ";
                            _L_2_joints.Add(inner_long[j].EndNode.NodeNo);
                        }
                        else if ((inner_long[j].EndNode.X.ToString("0.0") == curr_L4_x.ToString("0.0")))
                        {
                            cur_member          = inner_long[j].MemberNo;
                            curr_membs_L4_text += cur_member + " ";
                            _L_4_joints.Add(inner_long[j].EndNode.NodeNo);
                        }
                        else if ((inner_long[j].EndNode.X.ToString("0.0") == curr_Deff_x.ToString("0.0")))
                        {
                            cur_member            = inner_long[j].MemberNo;
                            curr_membs_Deff_text += cur_member + " ";
                            _deff_joints.Add(inner_long[j].EndNode.NodeNo);
                        }
                    }
                }
            }


            _L_2_joints.Remove(64);
            _L_4_joints.Remove(42);
            _deff_joints.Remove(20);

            //For Outer Long Girder
            curr_membs_L2_text   = "";
            curr_membs_L4_text   = "";
            curr_membs_Deff_text = "";
            cur_member           = -1;
            _deff_joints.Clear();
            _L_2_joints.Clear();
            _L_4_joints.Clear();
            //Creating X Coordinates at every Z level
            for (i = 0; i < list_outer_xmax.Count; i++)
            {
                x_max = list_outer_xmax[i];
                x_min = list_outer_xmin[i];

                cur_z = list_outer_cur_z[i];

                curr_L2_x   = (x_max + x_min) / 2.0;
                curr_L4_x   = (curr_L2_x + x_min) / 2.0;
                curr_Deff_x = (BridgeDesign.Analysis.Effective_Depth + x_min);

                cur_y = 0.0;

                for (j = 0; j < outer_long.Count; j++)
                {
                    if ((outer_long[j].EndNode.Y.ToString("0.0") == cur_y.ToString("0.0")) &&
                        (outer_long[j].EndNode.Z.ToString("0.0") == cur_z.ToString("0.0")))
                    {
                        if ((outer_long[j].EndNode.X.ToString("0.0") == curr_L2_x.ToString("0.0")))
                        {
                            cur_member          = outer_long[j].MemberNo;
                            curr_membs_L2_text += cur_member + " ";
                            _L_2_joints.Add(outer_long[j].EndNode.NodeNo);
                        }
                        else if ((outer_long[j].EndNode.X.ToString("0.0") == curr_L4_x.ToString("0.0")))
                        {
                            cur_member          = outer_long[j].MemberNo;
                            curr_membs_L4_text += cur_member + " ";
                            _L_4_joints.Add(outer_long[j].EndNode.NodeNo);
                        }
                        else if ((outer_long[j].EndNode.X.ToString("0.0") == curr_Deff_x.ToString("0.0")))
                        {
                            cur_member            = outer_long[j].MemberNo;
                            curr_membs_Deff_text += cur_member + " ";
                            _deff_joints.Add(outer_long[j].EndNode.NodeNo);
                        }
                    }
                }
            }



            //Cross Girder
            string cross_text = "";

            if (inner_cross.Count == 0)
            {
                MessageBox.Show(this, "No Cross Girder was found.", "ASTRA", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                for (j = 0; j < inner_cross.Count; j++)
                {
                    cur_member  = inner_cross[j].MemberNo;
                    cross_text += cur_member + " ";
                }

                CMember m = new CMember();
                m.Group.MemberNosText = cross_text;
                m.Force = BridgeDesign.GetForce(ref m);

                txt_cross_moment.Text = (m.MaxBendingMoment).ToString();
                txt_cross_shear.Text  = m.MaxShearForce.ToString();
            }
        }
Esempio n. 18
0
        List <string> Get_Joints_Load(double load)
        {
            MemberCollection mc = new MemberCollection(Truss_Analysis.Analysis.Members);

            MemberCollection sort_membs = new MemberCollection();

            double z_min = double.MaxValue;
            double x     = double.MaxValue;
            int    indx  = -1;

            int i = 0;
            int j = 0;

            List <double> list_z   = new List <double>();
            List <string> list_arr = new List <string>();

            List <MemberCollection> list_mc = new List <MemberCollection>();

            double last_z = 0.0;

            while (mc.Count != 0)
            {
                indx = -1;
                for (i = 0; i < mc.Count; i++)
                {
                    if (z_min > mc[i].StartNode.Z)
                    {
                        z_min = mc[i].StartNode.Z;
                        indx  = i;
                    }
                }
                if (indx != -1)
                {
                    if (!list_z.Contains(z_min))
                    {
                        list_z.Add(z_min);
                    }

                    sort_membs.Add(mc[indx]);
                    mc.Members.RemoveAt(indx);
                    z_min = double.MaxValue;
                }
            }

            last_z = -1.0;

            //Inner & Outer Long Girder
            MemberCollection outer_long  = new MemberCollection();
            MemberCollection inner_long  = new MemberCollection();
            MemberCollection inner_cross = new MemberCollection();


            z_min = Truss_Analysis.Analysis.Joints.MinZ;
            double z_max = Truss_Analysis.Analysis.Joints.MaxZ;


            //Store inner and outer Long Girder
            for (i = 0; i < sort_membs.Count; i++)
            {
                if (((sort_membs[i].StartNode.Z == z_min) || (sort_membs[i].StartNode.Z == z_max)) &&
                    sort_membs[i].StartNode.Z == sort_membs[i].EndNode.Z)
                {
                    outer_long.Add(sort_membs[i]);
                }
                else if (((sort_membs[i].StartNode.Z != z_min) && (sort_membs[i].StartNode.Z != z_max)) &&
                         sort_membs[i].StartNode.Z == sort_membs[i].EndNode.Z)
                {
                    inner_long.Add(sort_membs[i]);
                }
            }

            List <int> Outer_Joints = new List <int>();
            List <int> Inner_Joints = new List <int>();

            for (i = 0; i < outer_long.Count; i++)
            {
                if (Outer_Joints.Contains(outer_long[i].EndNode.NodeNo) == false)
                {
                    Outer_Joints.Add(outer_long[i].EndNode.NodeNo);
                }
                if (Outer_Joints.Contains(outer_long[i].StartNode.NodeNo) == false)
                {
                    Outer_Joints.Add(outer_long[i].StartNode.NodeNo);
                }
            }

            for (i = 0; i < inner_long.Count; i++)
            {
                if (Inner_Joints.Contains(inner_long[i].EndNode.NodeNo) == false)
                {
                    Inner_Joints.Add(inner_long[i].EndNode.NodeNo);
                }
                if (Inner_Joints.Contains(inner_long[i].StartNode.NodeNo) == false)
                {
                    Inner_Joints.Add(inner_long[i].StartNode.NodeNo);
                }
            }
            Outer_Joints.Sort();
            Inner_Joints.Sort();


            string inner_long_text = "";
            string outer_long_text = "";
            int    last_val        = 0;
            int    to_val          = 0;
            int    from_val        = 0;

            last_val = Outer_Joints[0];
            from_val = last_val;
            bool flag_1 = false;

            for (i = 0; i < Outer_Joints.Count; i++)
            {
                if (i < Outer_Joints.Count - 1)
                {
                    if ((Outer_Joints[i] + 1) == (Outer_Joints[i + 1]))
                    {
                        if (flag_1 == false)
                        {
                            from_val = Outer_Joints[i];
                        }
                        flag_1 = true;
                        to_val = Outer_Joints[i + 1];
                    }
                    else
                    {
                        if (flag_1)
                        {
                            outer_long_text = from_val + " TO " + to_val + " ";
                            flag_1          = false;
                        }
                        else
                        {
                            outer_long_text = outer_long_text + " " + last_val;
                        }
                    }
                    last_val = Outer_Joints[i];
                }
                else
                {
                    if (flag_1)
                    {
                        outer_long_text += from_val + " TO " + to_val + " ";
                        flag_1           = false;
                    }
                    else
                    {
                        outer_long_text = outer_long_text + " " + last_val;
                    }
                }
            }

            for (i = 0; i < Inner_Joints.Count; i++)
            {
                if (i < Inner_Joints.Count - 1)
                {
                    if ((Inner_Joints[i] + 1) == (Inner_Joints[i + 1]))
                    {
                        if (flag_1 == false)
                        {
                            from_val = Inner_Joints[i];
                        }
                        flag_1 = true;
                        to_val = Inner_Joints[i + 1];
                    }
                    else
                    {
                        if (flag_1)
                        {
                            inner_long_text = from_val + " TO " + to_val + " ";
                            flag_1          = false;
                        }
                        else
                        {
                            inner_long_text = inner_long_text + " " + last_val;
                        }
                    }
                    last_val = Inner_Joints[i];
                }
                else
                {
                    if (flag_1)
                    {
                        inner_long_text += from_val + " TO " + to_val + " ";
                        flag_1           = false;
                    }
                    else
                    {
                        inner_long_text = inner_long_text + " " + last_val;
                    }
                }
            }
            list_arr.Add(inner_long_text + " FY  -" + load.ToString("0.000"));
            list_arr.Add(outer_long_text + " FY  -" + (load / 2.0).ToString("0.000"));

            return(list_arr);
        }
Esempio n. 19
0
        public static void getProcesser()
        {
            Context       context = Context.Current;
            FlowDataTable table   = context.FormDataSet.Tables["TestFlow"];                                                           //表单中的表名称
            string        fileid  = Convert.ToString(table.Rows[0]["Attachment"]);                                                    //获取附件ID;
            string        file    = System.AppDomain.CurrentDomain.BaseDirectory + @"Attachments\" + Attachment.FileIDToPath(fileid); //获取服务器端系统中存附件的路径
            string        files   = System.AppDomain.CurrentDomain.BaseDirectory + @"sAttachments\" + fileid + ".xls";                //获取新建路径sAttachments(前提是已经有创建好此目录)

            System.IO.File.Copy(file, files, true);                                                                                   //复制到新的路径;

            List <String> name = new List <String>();                                                                                 //定义处理人姓名列表集合

            FileStream   fs    = File.OpenRead(files);                                                                                //打开文件
            HSSFWorkbook book  = new HSSFWorkbook(fs);
            HSSFSheet    sheet = (HSSFSheet)book.GetSheetAt(0);

            for (int r = 1; r <= sheet.LastRowNum; r++)
            {
                HSSFRow  row      = (HSSFRow)sheet.GetRow(r);
                HSSFCell cellname = (HSSFCell)row.GetCell(1);//认为处理人在excel中位于B列,可根据实际情况修改
                if (!name.Contains(Convert.ToString(cellname.StringCellValue)))
                {
                    name.Add(Convert.ToString(cellname.StringCellValue));
                }
            }

            //把集合中的处理人姓名拼接成“A,B,C”格式
            string displayname = "";

            foreach (string disname in name)
            {
                displayname += "'" + disname + "',";
            }
            displayname = displayname.Substring(0, displayname.Length - 1);

            string sqlStr    = string.Format(@"select Account  from BPMSysUsers where DisplayName in ({0})", displayname);
            string fzaccount = "";

            using (IDataReader reader = context.IDataProvider.ExecuteReader(sqlStr.ToString()))
            {
                while (reader.Read())
                {
                    fzaccount += Convert.ToString(reader["Account"]) + ",";
                }
            }
            fzaccount = fzaccount.Substring(0, fzaccount.Length - 1); //把集合中的处理人账号拼接成“A,B,C”格式
            //以上都是从excel中读取数据,然后获取账号

            //以下是根据账号返回流程处理人
            if (fzaccount.Contains(","))//说明有多个处理人
            {
                MemberCollection members = new MemberCollection();
                string[]         value   = fzaccount.Split(',');
                for (int i = 0; i < value.Length; i++)
                {
                    string account = Convert.ToString(value[i]);
                    if (!members.ContainsUser(account))
                    {
                        members.Add(Member.FromAccount(account));
                    }
                }
                return(members);
            }
            else
            {
                return(Member.FromAccount(fzaccount));
            }
        }
Esempio n. 20
0
        public bool Create_Data(string file_name)
        {
            List <string> list = new List <string>();


            //con
            int Upper_Connector_Index = -1;
            int Lower_Connector_Index = -1;


            int indx = 12;



            int pnl_nos = (int)(Tower_Height / Bracing_Panel_Height);

            #region X Points


            double x_ps   = (Tower_Base_Width - Tower_Top_Width) / 2;
            double X_Incr = (x_ps) / (pnl_nos);



            List <double> x_side_1 = new List <double>();
            List <double> x_side_2 = new List <double>();

            List <double> y_side   = new List <double>();
            List <double> z_side_1 = new List <double>();
            List <double> z_side_2 = new List <double>();


            double x = 0, y = 0, z = 0;


            int i = 0;


            for (i = 0; i <= pnl_nos; i++)
            {
                x = i * X_Incr;
                y = i * Bracing_Panel_Height;

                x_side_1.Add(x);
                z_side_1.Add(x);

                x_side_2.Add(Tower_Base_Width - x);
                z_side_2.Add(Tower_Base_Width - x);


                y_side.Add(y);
            }


            i = 0;

            #endregion X Points


            //     Tower_Lower_Connector_Width = 10.0;
            //Tower_Upper_Connector_Width = 20.0;

            if (Tower_Upper_Connector_Width != 0.0)
            {
                for (i = 0; i < y_side.Count; i++)
                {
                    if (Tower_Upper_Connector_Width.ToString("f3") == y_side[i].ToString("f3"))
                    {
                        Upper_Connector_Index = i; break;
                    }
                }
            }

            if (Tower_Lower_Connector_Width != 0.0)
            {
                for (i = 0; i < y_side.Count; i++)
                {
                    if (Tower_Lower_Connector_Width.ToString("f3") == y_side[i].ToString("f3"))
                    {
                        Lower_Connector_Index = i; break;
                    }
                }
            }

            JointNodeCollection jnc_1, jnc_2, jnc_3, jnc_4; // First Tower


            JointNodeCollection jnc_5, jnc_6, jnc_7, jnc_8;// Second Tower

            jnc_1 = new JointNodeCollection();
            jnc_2 = new JointNodeCollection();
            jnc_3 = new JointNodeCollection();
            jnc_4 = new JointNodeCollection();

            jnc_5 = new JointNodeCollection();
            jnc_6 = new JointNodeCollection();
            jnc_7 = new JointNodeCollection();
            jnc_8 = new JointNodeCollection();


            double x_dist = Tower_Base_Width + Tower_Clear_Distance;



            JointNode jn = null;

            #region Side 1
            for (i = 0; i < y_side.Count; i++)
            {
                #region First Tower
                jn = new JointNode();

                jn.X = x_side_1[i];
                jn.Y = y_side[i];
                jn.Z = z_side_1[i];

                jnc_1.Add(jn);
                #endregion First Tower


                #region Second Tower
                jn = new JointNode();

                jn.X = x_dist + x_side_1[i];
                jn.Y = y_side[i];
                jn.Z = z_side_1[i];

                jnc_6.Add(jn);
                #endregion Second Tower
            }

            #endregion Side 1


            #region Side 2
            for (i = 0; i < y_side.Count; i++)
            {
                jn = new JointNode();

                jn.X = x_side_2[i];
                jn.Y = y_side[i];
                jn.Z = z_side_1[i];

                jnc_2.Add(jn);


                jn = new JointNode();

                jn.X = x_dist + x_side_2[i];
                jn.Y = y_side[i];
                jn.Z = z_side_1[i];

                jnc_5.Add(jn);
            }

            #endregion Side 2


            #region Side 3
            for (i = 0; i < y_side.Count; i++)
            {
                jn = new JointNode();

                jn.X = x_side_1[i];
                jn.Y = y_side[i];
                jn.Z = z_side_2[i];

                jnc_3.Add(jn);


                jn = new JointNode();

                jn.X = x_dist + x_side_1[i];
                jn.Y = y_side[i];
                jn.Z = z_side_2[i];

                jnc_8.Add(jn);
            }

            #endregion Side 3


            #region Side 4
            for (i = 0; i < y_side.Count; i++)
            {
                jn = new JointNode();

                jn.X = x_side_2[i];
                jn.Y = y_side[i];
                jn.Z = z_side_2[i];

                jnc_4.Add(jn);


                jn = new JointNode();

                jn.X = x_dist + x_side_2[i];
                jn.Y = y_side[i];
                jn.Z = z_side_2[i];

                jnc_7.Add(jn);
            }

            #endregion Side 4


            JointNodeCollection con_jnt_1 = new JointNodeCollection();


            //indx = 12;

            indx = 12;



            double mid_x = (x_dist + Tower_Base_Width) / 2.0;

            if (Upper_Connector_Index != -1)
            {
                indx = Upper_Connector_Index;

                #region  Connector 1

                #region Connector Joint 1

                jn = new JointNode();

                jn.X = mid_x;
                jn.Y = y_side[indx];
                jn.Z = z_side_2[indx];

                con_jnt_1.Add(jn);



                #endregion Connetor Joint 1

                #region Connetor Joint 2

                jn = new JointNode();

                jn.X = mid_x;
                jn.Y = y_side[indx];
                jn.Z = z_side_1[indx];

                con_jnt_1.Add(jn);



                #endregion Connetor Joint 2


                indx++;
                #region Connetor Joint 3

                jn = new JointNode();

                jn.X = mid_x;
                jn.Y = y_side[indx];
                jn.Z = z_side_1[indx];

                con_jnt_1.Add(jn);



                #endregion Connetor Joint 3

                #region Connetor Joint 4

                jn = new JointNode();

                jn.X = mid_x;
                jn.Y = y_side[indx];
                jn.Z = z_side_2[indx];

                con_jnt_1.Add(jn);



                #endregion Connetor Joint 4

                #endregion  Connector 1
            }
            indx = 5;

            JointNodeCollection con_jnt_2 = new JointNodeCollection();

            if (Lower_Connector_Index != -1)
            {
                indx = Lower_Connector_Index;

                #region  Connector 2

                #region Connector Joint 1

                jn = new JointNode();

                jn.X = mid_x;
                jn.Y = y_side[indx];
                jn.Z = z_side_2[indx];

                con_jnt_2.Add(jn);



                #endregion Connetor Joint 1

                #region Connetor Joint 2

                jn = new JointNode();

                jn.X = mid_x;
                jn.Y = y_side[indx];
                jn.Z = z_side_1[indx];

                con_jnt_2.Add(jn);



                #endregion Connetor Joint 2


                indx++;
                #region Connetor Joint 3

                jn = new JointNode();

                jn.X = mid_x;
                jn.Y = y_side[indx];
                jn.Z = z_side_1[indx];

                con_jnt_2.Add(jn);



                #endregion Connetor Joint 3

                #region Connetor Joint 4

                jn = new JointNode();

                jn.X = mid_x;
                jn.Y = y_side[indx];
                jn.Z = z_side_2[indx];

                con_jnt_2.Add(jn);



                #endregion Connetor Joint 4

                #endregion  Connector 2
            }
            list.Add(string.Format(""));
            list.Add(string.Format("ASTRA SPACE TOWER"));
            list.Add(string.Format("UNIT MTON METRES"));
            list.Add(string.Format("JOINT COORDINATES"));
            int jnt_no = 1;

            #region Joint Coordinates
            foreach (var item in jnc_1)
            {
                item.NodeNo = jnt_no++;
                list.Add(item.ToString());
            }

            foreach (var item in jnc_2)
            {
                item.NodeNo = jnt_no++;
                list.Add(item.ToString());
            }
            foreach (var item in jnc_3)
            {
                item.NodeNo = jnt_no++;
                list.Add(item.ToString());
            }
            foreach (var item in jnc_4)
            {
                item.NodeNo = jnt_no++;
                list.Add(item.ToString());
            }
            foreach (var item in jnc_5)
            {
                item.NodeNo = jnt_no++;
                list.Add(item.ToString());
            }

            foreach (var item in jnc_6)
            {
                item.NodeNo = jnt_no++;
                list.Add(item.ToString());
            }

            foreach (var item in jnc_7)
            {
                item.NodeNo = jnt_no++;
                list.Add(item.ToString());
            }

            foreach (var item in jnc_8)
            {
                item.NodeNo = jnt_no++;
                list.Add(item.ToString());
            }


            foreach (var item in con_jnt_1)
            {
                item.NodeNo = jnt_no++;
                list.Add(item.ToString());
            }

            foreach (var item in con_jnt_2)
            {
                item.NodeNo = jnt_no++;
                list.Add(item.ToString());
            }

            #endregion Joint Coordinates



            int mem_no = 1;


            Member mbr = new Member();

            MemberCollection m_side_1 = new MemberCollection();



            List <int> sec_1 = new List <int>();
            List <int> sec_2 = new List <int>();

            #region Tower 1
            #region Member Side 1 [1-15]
            for (i = 1; i < jnc_1.Count; i++)
            {
                mbr           = new Member();
                mbr.StartNode = jnc_1[i - 1];
                mbr.EndNode   = jnc_1[i];

                m_side_1.Add(mbr);


                sec_1.Add(mem_no++);
            }

            #endregion Member Side 1

            #region Member Side 2 [16-30]

            for (i = 1; i < jnc_2.Count; i++)
            {
                mbr           = new Member();
                mbr.StartNode = jnc_2[i - 1];
                mbr.EndNode   = jnc_2[i];

                m_side_1.Add(mbr);
                sec_1.Add(mem_no++);
            }

            #endregion Member Side 2

            #region Member Side 3 [31-45]


            for (i = 1; i < jnc_3.Count; i++)
            {
                mbr           = new Member();
                mbr.StartNode = jnc_3[i - 1];
                mbr.EndNode   = jnc_3[i];

                m_side_1.Add(mbr);

                sec_1.Add(mem_no++);
            }

            #endregion Member Side 3

            #region Member Side 4 [46-60]


            for (i = 1; i < jnc_4.Count; i++)
            {
                mbr           = new Member();
                mbr.StartNode = jnc_4[i - 1];
                mbr.EndNode   = jnc_4[i];

                m_side_1.Add(mbr);
                sec_1.Add(mem_no++);
            }

            #endregion Member Side 4

            #region Member 61-76


            for (i = 0; i < jnc_1.Count; i++)
            {
                mbr           = new Member();
                mbr.StartNode = jnc_1[i];
                mbr.EndNode   = jnc_2[i];

                m_side_1.Add(mbr);

                sec_2.Add(mem_no++);
            }

            #endregion Member 61-76

            #region Member 77-92


            for (i = 0; i < jnc_3.Count; i++)
            {
                mbr           = new Member();
                mbr.StartNode = jnc_3[i];
                mbr.EndNode   = jnc_4[i];

                m_side_1.Add(mbr);
                sec_2.Add(mem_no++);
            }

            #endregion Member 77-92

            #region Member 93-108


            for (i = 0; i < jnc_3.Count; i++)
            {
                mbr           = new Member();
                mbr.StartNode = jnc_1[i];
                mbr.EndNode   = jnc_3[i];

                m_side_1.Add(mbr);
                sec_2.Add(mem_no++);
            }

            #endregion Member 77-92

            #region Member 109-124


            for (i = 0; i < jnc_2.Count; i++)
            {
                mbr           = new Member();
                mbr.StartNode = jnc_2[i];
                mbr.EndNode   = jnc_4[i];

                m_side_1.Add(mbr);
                sec_2.Add(mem_no++);
            }

            #endregion Member 109-124

            #region Member 125-139


            for (i = 1; i < jnc_1.Count; i += 2)
            {
                try
                {
                    mbr           = new Member();
                    mbr.StartNode = jnc_3[i - 1];
                    mbr.EndNode   = jnc_1[i];

                    m_side_1.Add(mbr);

                    sec_2.Add(mem_no++);


                    mbr           = new Member();
                    mbr.StartNode = jnc_1[i];
                    mbr.EndNode   = jnc_3[i + 1];

                    m_side_1.Add(mbr);
                    sec_2.Add(mem_no++);
                }
                catch (Exception ex) { }
            }

            #endregion Member 109-124

            #region Member 140-154


            for (i = 1; i < jnc_2.Count; i += 2)
            {
                try
                {
                    mbr           = new Member();
                    mbr.StartNode = jnc_2[i - 1];
                    mbr.EndNode   = jnc_4[i];

                    m_side_1.Add(mbr);
                    sec_2.Add(mem_no++);


                    mbr           = new Member();
                    mbr.StartNode = jnc_4[i];
                    mbr.EndNode   = jnc_2[i + 1];

                    m_side_1.Add(mbr);
                    sec_2.Add(mem_no++);
                }
                catch (Exception exx) { }
            }

            #endregion Member 140-154

            #region Member 155-169


            for (i = 1; i < jnc_3.Count; i += 2)
            {
                try
                {
                    mbr           = new Member();
                    mbr.StartNode = jnc_4[i - 1];
                    mbr.EndNode   = jnc_3[i];

                    m_side_1.Add(mbr);
                    sec_2.Add(mem_no++);



                    mbr           = new Member();
                    mbr.StartNode = jnc_3[i];
                    mbr.EndNode   = jnc_4[i + 1];

                    m_side_1.Add(mbr);
                    sec_2.Add(mem_no++);
                }
                catch (Exception exx) { }
            }

            #endregion Member 155-169

            #region Member 170-184

            for (i = 1; i < jnc_1.Count; i += 2)
            {
                try
                {
                    mbr           = new Member();
                    mbr.StartNode = jnc_1[i - 1];
                    mbr.EndNode   = jnc_2[i];

                    m_side_1.Add(mbr);
                    sec_2.Add(mem_no++);


                    mbr           = new Member();
                    mbr.StartNode = jnc_2[i];
                    mbr.EndNode   = jnc_1[i + 1];

                    m_side_1.Add(mbr);
                    sec_2.Add(mem_no++);
                }
                catch (Exception exx) { }
            }

            #endregion Member 155-169
            #endregion Tower 1



            #region Tower 2

            #region Member Side 1 [185-199]

            JointNodeCollection jnc = jnc_5;
            for (i = 1; i < jnc.Count; i++)
            {
                mbr           = new Member();
                mbr.StartNode = jnc[i - 1];
                mbr.EndNode   = jnc[i];

                m_side_1.Add(mbr);
                sec_1.Add(mem_no++);
            }

            #endregion Member Side 1

            #region Member Side 2 [200-214]

            jnc = jnc_6;
            for (i = 1; i < jnc.Count; i++)
            {
                mbr           = new Member();
                mbr.StartNode = jnc[i - 1];
                mbr.EndNode   = jnc[i];

                m_side_1.Add(mbr);
                sec_1.Add(mem_no++);
            }

            #endregion Member Side 2

            #region Member Side 3 [215-229]


            jnc = jnc_7;
            for (i = 1; i < jnc.Count; i++)
            {
                mbr           = new Member();
                mbr.StartNode = jnc[i - 1];
                mbr.EndNode   = jnc[i];

                m_side_1.Add(mbr);
                sec_1.Add(mem_no++);
            }

            #endregion Member Side 3

            #region Member Side 4 [230-244]

            jnc = jnc_8;
            for (i = 1; i < jnc.Count; i++)
            {
                mbr           = new Member();
                mbr.StartNode = jnc[i - 1];
                mbr.EndNode   = jnc[i];

                m_side_1.Add(mbr);
                sec_1.Add(mem_no++);
            }

            #endregion Member Side 4

            #region Member 245-260


            for (i = 0; i < jnc_5.Count; i++)
            {
                mbr           = new Member();
                mbr.StartNode = jnc_5[i];
                mbr.EndNode   = jnc_6[i];

                m_side_1.Add(mbr);
                sec_2.Add(mem_no++);
            }

            #endregion Member 61-76

            #region Member 261-276


            for (i = 0; i < jnc_7.Count; i++)
            {
                mbr           = new Member();
                mbr.StartNode = jnc_7[i];
                mbr.EndNode   = jnc_8[i];

                m_side_1.Add(mbr);
                sec_2.Add(mem_no++);
            }

            #endregion Member 77-92

            #region Member 277-292


            for (i = 0; i < jnc_7.Count; i++)
            {
                mbr           = new Member();
                mbr.StartNode = jnc_5[i];
                mbr.EndNode   = jnc_7[i];

                m_side_1.Add(mbr);
                sec_2.Add(mem_no++);
            }

            #endregion Member 77-92

            #region Member 293-308


            for (i = 0; i < jnc_6.Count; i++)
            {
                mbr           = new Member();
                mbr.StartNode = jnc_6[i];
                mbr.EndNode   = jnc_8[i];

                m_side_1.Add(mbr);
                sec_2.Add(mem_no++);
            }

            #endregion Member 109-124

            #region Member 309-323


            for (i = 1; i < jnc_5.Count; i += 2)
            {
                try
                {
                    mbr           = new Member();
                    mbr.StartNode = jnc_7[i - 1];
                    mbr.EndNode   = jnc_5[i];

                    m_side_1.Add(mbr);
                    sec_2.Add(mem_no++);


                    mbr           = new Member();
                    mbr.StartNode = jnc_5[i];
                    mbr.EndNode   = jnc_7[i + 1];

                    m_side_1.Add(mbr);
                    sec_2.Add(mem_no++);
                }
                catch (Exception exx) { }
            }

            #endregion Member 109-124

            #region Member 324-338


            for (i = 1; i < jnc_6.Count; i += 2)
            {
                try
                {
                    mbr           = new Member();
                    mbr.StartNode = jnc_6[i - 1];
                    mbr.EndNode   = jnc_8[i];

                    m_side_1.Add(mbr);
                    sec_2.Add(mem_no++);


                    mbr           = new Member();
                    mbr.StartNode = jnc_8[i];
                    mbr.EndNode   = jnc_6[i + 1];

                    m_side_1.Add(mbr);
                    sec_2.Add(mem_no++);
                }
                catch (Exception exx) { }
            }

            #endregion Member 140-154

            #region Member 339-353


            for (i = 1; i < jnc_7.Count; i += 2)
            {
                try
                {
                    mbr           = new Member();
                    mbr.StartNode = jnc_8[i - 1];
                    mbr.EndNode   = jnc_7[i];

                    m_side_1.Add(mbr);

                    sec_2.Add(mem_no++);

                    mbr           = new Member();
                    mbr.StartNode = jnc_7[i];
                    mbr.EndNode   = jnc_8[i + 1];

                    m_side_1.Add(mbr);

                    sec_2.Add(mem_no++);
                }
                catch (Exception exx) { }
            }

            #endregion Member 155-169

            #region Member 354-368

            for (i = 1; i < jnc_5.Count; i += 2)
            {
                try
                {
                    mbr           = new Member();
                    mbr.StartNode = jnc_5[i - 1];
                    mbr.EndNode   = jnc_6[i];

                    m_side_1.Add(mbr);
                    sec_2.Add(mem_no++);

                    mbr           = new Member();
                    mbr.StartNode = jnc_6[i];
                    mbr.EndNode   = jnc_5[i + 1];

                    m_side_1.Add(mbr);
                    sec_2.Add(mem_no++);
                }
                catch (Exception exx) { }
            }

            #endregion Member 155-169

            #endregion Tower 2



            MemberCollection m_conn = new MemberCollection();


            if (Upper_Connector_Index != -1)
            {
                #region Connector 1


                indx = Upper_Connector_Index;


                mbr = new Member();

                mbr.StartNode = jnc_4[indx];
                mbr.EndNode   = con_jnt_1[0];
                m_conn.Add(mbr);


                mbr = new Member();

                mbr.StartNode = jnc_2[indx];
                mbr.EndNode   = con_jnt_1[1];
                m_conn.Add(mbr);


                indx++;
                mbr = new Member();

                mbr.StartNode = jnc_2[indx];
                mbr.EndNode   = con_jnt_1[2];
                m_conn.Add(mbr);



                //indx++;
                mbr = new Member();

                mbr.StartNode = jnc_4[indx];
                mbr.EndNode   = con_jnt_1[3];
                m_conn.Add(mbr);



                //indx = 12;
                indx = Upper_Connector_Index;


                mbr = new Member();

                mbr.StartNode = jnc_8[indx];
                mbr.EndNode   = con_jnt_1[0];
                m_conn.Add(mbr);


                mbr = new Member();

                mbr.StartNode = jnc_6[indx];
                mbr.EndNode   = con_jnt_1[1];
                m_conn.Add(mbr);


                indx++;
                mbr = new Member();

                mbr.StartNode = jnc_6[indx];
                mbr.EndNode   = con_jnt_1[2];
                m_conn.Add(mbr);



                //indx++;
                mbr = new Member();

                mbr.StartNode = jnc_8[indx];
                mbr.EndNode   = con_jnt_1[3];
                m_conn.Add(mbr);



                mbr = new Member();

                mbr.StartNode = con_jnt_1[0];
                mbr.EndNode   = con_jnt_1[3];
                m_conn.Add(mbr);


                mbr = new Member();

                mbr.StartNode = con_jnt_1[1];
                mbr.EndNode   = con_jnt_1[2];
                m_conn.Add(mbr);


                mbr = new Member();

                mbr.StartNode = con_jnt_1[0];
                mbr.EndNode   = con_jnt_1[1];
                m_conn.Add(mbr);


                mbr = new Member();

                mbr.StartNode = con_jnt_1[2];
                mbr.EndNode   = con_jnt_1[3];
                m_conn.Add(mbr);



                //indx = 12;
                indx = Upper_Connector_Index;

                mbr = new Member();

                mbr.StartNode = jnc_4[indx];
                mbr.EndNode   = con_jnt_1[3];
                m_conn.Add(mbr);



                mbr = new Member();

                mbr.StartNode = con_jnt_1[3];
                mbr.EndNode   = jnc_8[indx];
                m_conn.Add(mbr);


                mbr = new Member();

                mbr.StartNode = jnc_2[indx + 1];
                mbr.EndNode   = con_jnt_1[1];
                m_conn.Add(mbr);



                mbr = new Member();

                mbr.StartNode = con_jnt_1[1];
                mbr.EndNode   = jnc_6[indx + 1];
                m_conn.Add(mbr);


                #endregion Connector
            }


            if (Lower_Connector_Index != -1)
            {
                #region Connector 2

                //MemberCollection m_conn = new MemberCollection();

                //indx = 5;
                indx = Lower_Connector_Index;

                mbr = new Member();

                mbr.StartNode = jnc_4[indx];
                mbr.EndNode   = con_jnt_2[0];
                m_conn.Add(mbr);


                mbr = new Member();

                mbr.StartNode = jnc_2[indx];
                mbr.EndNode   = con_jnt_2[1];
                m_conn.Add(mbr);


                indx++;
                mbr = new Member();

                mbr.StartNode = jnc_2[indx];
                mbr.EndNode   = con_jnt_2[2];
                m_conn.Add(mbr);



                //indx++;
                mbr = new Member();

                mbr.StartNode = jnc_4[indx];
                mbr.EndNode   = con_jnt_2[3];
                m_conn.Add(mbr);



                //indx = 5;
                indx = Lower_Connector_Index;


                mbr = new Member();

                mbr.StartNode = jnc_8[indx];
                mbr.EndNode   = con_jnt_2[0];
                m_conn.Add(mbr);


                mbr = new Member();

                mbr.StartNode = jnc_6[indx];
                mbr.EndNode   = con_jnt_2[1];
                m_conn.Add(mbr);


                indx++;
                mbr = new Member();

                mbr.StartNode = jnc_6[indx];
                mbr.EndNode   = con_jnt_2[2];
                m_conn.Add(mbr);



                //indx++;
                mbr = new Member();

                mbr.StartNode = jnc_8[indx];
                mbr.EndNode   = con_jnt_2[3];
                m_conn.Add(mbr);



                mbr = new Member();

                mbr.StartNode = con_jnt_2[0];
                mbr.EndNode   = con_jnt_2[3];
                m_conn.Add(mbr);


                mbr = new Member();

                mbr.StartNode = con_jnt_2[1];
                mbr.EndNode   = con_jnt_2[2];
                m_conn.Add(mbr);


                mbr = new Member();

                mbr.StartNode = con_jnt_2[0];
                mbr.EndNode   = con_jnt_2[1];
                m_conn.Add(mbr);


                mbr = new Member();

                mbr.StartNode = con_jnt_2[2];
                mbr.EndNode   = con_jnt_2[3];
                m_conn.Add(mbr);



                //indx = 5;
                indx = Lower_Connector_Index;

                mbr = new Member();

                mbr.StartNode = jnc_4[indx];
                mbr.EndNode   = con_jnt_2[3];
                m_conn.Add(mbr);



                mbr = new Member();

                mbr.StartNode = con_jnt_2[3];
                mbr.EndNode   = jnc_8[indx];
                m_conn.Add(mbr);


                mbr = new Member();

                mbr.StartNode = jnc_2[indx + 1];
                mbr.EndNode   = con_jnt_2[1];
                m_conn.Add(mbr);



                mbr = new Member();

                mbr.StartNode = con_jnt_2[1];
                mbr.EndNode   = jnc_6[indx + 1];
                m_conn.Add(mbr);


                #endregion Connector
            }
            mem_no = 1;


            #region MEMBER INCIDENCES
            list.Add("MEMBER INCIDENCES");
            foreach (var item in m_side_1)
            {
                item.MemberNo = mem_no++;
                list.Add(item.ToString());
            }
            foreach (var item in m_conn)
            {
                sec_2.Add(mem_no);

                item.MemberNo = mem_no++;
                list.Add(item.ToString());
            }

            #endregion MEMBER INCIDENCES

            #region MEMBER PROPERTY


            list.Add(string.Format("UNIT KG CM"));
            list.Add(string.Format("MEMBER PROPERTY"));
            //list.Add(string.Format("{0} PRISMATIC AX 7.44 IX 11.7 IY 11.7 IZ 11.7", MyList.Get_Array_Text(sec_2)));
            //list.Add(string.Format("{0} PRISMATIC AX 68.81 IX 1046.5 IY 1046.5 IZ 1046.5", MyList.Get_Array_Text(sec_1)));

            //list.Add(string.Format("{0} PRISMATIC AX {1} IX {2} IY {3} IZ {4}", MyList.Get_Array_Text(sec_1), Tower_SEC_VS_AX, Tower_SEC_VS_IX, Tower_SEC_VS_IX, Tower_SEC_VS_IZ));
            //list.Add(string.Format("{0} PRISMATIC AX {1} IX {2} IY {3} IZ {4}", MyList.Get_Array_Text(sec_2), Tower_SEC_BS_AX, Tower_SEC_BS_IX, Tower_SEC_BS_IX, Tower_SEC_BS_IZ));
            //list.Add(string.Format("{0} PRISMATIC AX 68.81 IX 1046.5 IY 1046.5 IZ 1046.5", MyList.Get_Array_Text(sec_1)));


            list.Add(string.Format("{0} PRISMATIC AX {1} IX {2} IZ {3}", MyList.Get_Array_Text(sec_1), Tower_SEC_VS_AX, Tower_SEC_VS_IX, Tower_SEC_VS_IZ));
            list.Add(string.Format("{0} PRISMATIC AX {1} IX {2} IZ {3}", MyList.Get_Array_Text(sec_2), Tower_SEC_BS_AX, Tower_SEC_BS_IX, Tower_SEC_BS_IZ));

            #endregion MEMBER PROPERTY


            #region CONSTANTS & Others

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

            supp.Add(jnc_1[0].NodeNo);
            supp.Add(jnc_2[0].NodeNo);
            supp.Add(jnc_3[0].NodeNo);
            supp.Add(jnc_4[0].NodeNo);
            supp.Add(jnc_5[0].NodeNo);
            supp.Add(jnc_6[0].NodeNo);
            supp.Add(jnc_7[0].NodeNo);
            supp.Add(jnc_8[0].NodeNo);

            string supp_jnts = MyList.Get_Array_Text(supp);

            List <int> dl = new List <int>();
            indx = jnc_1.Count - 1;
            dl.Add(jnc_1[indx].NodeNo);
            dl.Add(jnc_2[indx].NodeNo);
            dl.Add(jnc_3[indx].NodeNo);
            dl.Add(jnc_4[indx].NodeNo);
            dl.Add(jnc_5[indx].NodeNo);
            dl.Add(jnc_6[indx].NodeNo);
            dl.Add(jnc_7[indx].NodeNo);
            dl.Add(jnc_8[indx].NodeNo);


            string dl_jnts = MyList.Get_Array_Text(dl);



            list.Add(string.Format("UNIT KG CM"));
            list.Add(string.Format("MATERIAL CONSTANT"));
            list.Add(string.Format("E 2000000 ALL"));
            list.Add(string.Format("DEN 78 ALL"));
            list.Add(string.Format("SUPPORTS"));
            //list.Add(string.Format("1 17 33 49 65 81 97 113 FIXED"));
            list.Add(string.Format("{0} FIXED", supp_jnts));
            //list.Add(string.Format("SELFWEIGHT Y -1.4"));
            list.Add(string.Format("UNIT MTON M"));
            list.Add(string.Format("LOAD 1 LIVE LOAD"));
            list.Add(string.Format("JOINT LOAD"));
            list.Add(string.Format("{0} FY -{1}", dl_jnts, Tower_Live_Load));
            list.Add(string.Format("LOAD 2 DEAD LOAD"));
            list.Add(string.Format("JOINT LOAD"));
            list.Add(string.Format("{0} FY -{1}", dl_jnts, Tower_Dead_Load));
            list.Add(string.Format("SEISMIC COEEFICIENT {0}", Tower_Seismic_Coefficient));
            list.Add(string.Format("PRINT SUPPORT REACTION"));
            list.Add(string.Format("PERFORM ANALYSIS"));
            list.Add(string.Format("FINISH"));
            list.Add(string.Format(""));

            #endregion CONSTANTS


            File.WriteAllLines(file_name, list.ToArray());

            return(true);
        }
Esempio n. 21
0
        internal EntitySchema(string name, JObject schema)
        {
            if (name == null)
            {
                throw new ArgumentNullException(nameof(name));
            }
            if (schema == null)
            {
                throw new ArgumentNullException(nameof(schema));
            }

            Name = name;

            var members = new MemberCollection();

            members.Add(new EntityIdField());

            foreach (var field in (JObject)schema["fields"])
            {
                int?decimals = field.Value["decimals"] != null ? (int?)(long)field.Value["decimals"] : null;

                switch ((string)field.Value["type"])
                {
                case "field":
                    members.Add(new EntityField(
                                    field.Key,
                                    (string)field.Value["comments"],
                                    ParseDataType((string)field.Value["data_type"]),
                                    decimals,
                                    (bool)field.Value["mandatory"]
                                    ));
                    break;

                case "foreign":
                    members.Add(new EntityForeign(
                                    field.Key,
                                    (string)field.Value["comments"],
                                    (string)field.Value["link_table"],
                                    ParseDataType((string)field.Value["data_type"]),
                                    decimals,
                                    (bool)field.Value["mandatory"]
                                    ));
                    break;

                case "foreign_child":
                    members.Add(new EntityForeignChild(
                                    field.Key,
                                    (string)field.Value["comments"],
                                    (string)field.Value["link_table"],
                                    (string)field.Value["link_field"]
                                    ));
                    break;

                case "calculated":
                    members.Add(new EntityCalculatedField(
                                    field.Key,
                                    (string)field.Value["comments"],
                                    ParseDataType((string)field.Value["data_type"]),
                                    decimals
                                    ));
                    break;
                }
            }

            Members = new ReadOnlyKeyedCollection <string, EntityMember>(members);

            var idFields = new List <EntityPhysicalField>();

            var ids = schema["id"];

            if (ids is JArray)
            {
                idFields.AddRange(ids.Select(p => (EntityPhysicalField)members[(string)p]));
            }
            else
            {
                idFields.Add((EntityPhysicalField)members[(string)ids]);
            }

            IdField = new ReadOnlyCollection <EntityPhysicalField>(idFields);

            string keyField = (string)schema["key"];

            if (keyField != null)
            {
                KeyField = (EntityField)members[keyField];
            }
            string labelField = (string)schema["label"];

            if (labelField != null)
            {
                LabelField = (EntityField)members[labelField];
            }

            Comments = (string)schema["comments"];

            foreach (string allow in schema["actions"])
            {
                switch (allow)
                {
                case "read": CanRead = true; break;

                case "create": CanCreate = true; break;

                case "update": CanUpdate = true; break;

                case "delete": CanDelete = true; break;
                }
            }
        }