Beispiel #1
0
        public DrawingPageTotal GetDrawingByXmlParameter(int projectId, string cwpId, string fiwpId, string drawingtype, string engtag, string title, string sortOption, int currpage, int pageSize, string path)
        {
            // Get connection string
            string connStr = ConnStrHelper.getDbConnString();

            DrawingPageTotal result = new DrawingPageTotal();

            // Compose parameters
            //List<SqlParameter> parameters = new List<SqlParameter>();

            //parameters.Add(new SqlParameter("@ProjectID", projectId));
            //parameters.Add(new SqlParameter("@CWPIDs", cwpId));
            //parameters.Add(new SqlParameter("@FIWPIDs", fiwpId));
            //parameters.Add(new SqlParameter("@DrawingTypeLUIDs", drawingtype));
            //parameters.Add(new SqlParameter("@EngTagNumber", engtag));
            //parameters.Add(new SqlParameter("@Description", title));
            //parameters.Add(new SqlParameter("@SortOption", sortOption));
            //parameters.Add(new SqlParameter("@CurrPage", currpage));
            //parameters.Add(new SqlParameter("@PageSize", pageSize));
            //parameters.Add(new SqlParameter("@Path", path));

            //SqlParameter outParam1 = new SqlParameter("@TotalPage", SqlDbType.Int);
            //SqlParameter outParam2 = new SqlParameter("@TotalCount", SqlDbType.Int);
            //outParam1.Direction = ParameterDirection.Output;
            //outParam2.Direction = ParameterDirection.Output;
            //parameters.Add(outParam1);
            //parameters.Add(outParam2);

            int totalPage = 0;
            int totalCount = 0;

            SqlParameter[] parameters = new SqlParameter[] {
                new SqlParameter("@ProjectID", projectId),
                new SqlParameter("@CWPIDs", cwpId),
                new SqlParameter("@FIWPIDs", fiwpId),
                new SqlParameter("@DrawingTypeLUIDs", drawingtype),
                new SqlParameter("@EngTagNumber", engtag),
                new SqlParameter("@Description", title),
                new SqlParameter("@SortOption", sortOption),
                new SqlParameter("@CurrPage", currpage),
                new SqlParameter("@PageSize", pageSize),
                new SqlParameter("@Path", path),
                new SqlParameter("@TotalPage", SqlDbType.Int),
                new SqlParameter("@TotalCount", SqlDbType.Int)
            };
            int iNum = parameters.Length - 1;
            parameters[iNum].Direction = ParameterDirection.Output;
            parameters[iNum-1].Direction = ParameterDirection.Output;

            // Get Data
            //DataSet ds = SqlHelper.ExecuteDataset(connStr, "tsp_GetDrawingXmlparameter", parameters);  //sp_get_drawing_xmlparameter
            DataSet ds = SqlHelper.ExecuteDataset(connStr, CommandType.StoredProcedure, "tsp_GetDrawingXmlparameter", parameters);  //sp_get_drawing_xmlparameter

            if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
            {
                result.drawing = DTOHelper.DataTableToListDTO<DrawingDTO>(ds, 0);

                result.TotalPageCount = Convert.ToInt32(parameters[iNum-1].Value.ToString());
                result.TotalRowCount = Convert.ToInt32(parameters[iNum].Value.ToString());
            }
            result.CurrentPage = currpage;

            return result;
        }
Beispiel #2
0
        public DrawingPageTotal GetDrawingForDrawingViewer(int projectId, List<int> cwpId, List<int> fiwpId, List<int> drawingtype, string engtag, string title, string sortOption, int currpage, int pageSize, string path)
        {
            DrawingPageTotal rtn = new DrawingPageTotal();

            List<DrawingcwpDTO> drawingcwp = new List<DrawingcwpDTO>();
            List<DrawingreferenceDTO> Drawingreference = new List<DrawingreferenceDTO>();
            List<ComboBoxDTO> mtos = new List<ComboBoxDTO>();

            int[] cwpArray = cwpId == null ? null : cwpId.ToArray();
            int[] fiwpArray = fiwpId == null ? null : fiwpId.ToArray();
            int[] typeArray = drawingtype == null ? null : drawingtype.ToArray();

            string cwpIds = Element.Shared.Common.Utilities.BuildIDArrayXMLParametr(cwpArray);
            string fiwpIds = Element.Shared.Common.Utilities.BuildIDArrayXMLParametr(fiwpArray);
            string drawingtypes = Element.Shared.Common.Utilities.BuildIDArrayXMLParametr(typeArray);

            path = path + "/SigmaStorage/";

            rtn = GetDrawingByXmlParameter(projectId, cwpIds, fiwpIds, drawingtypes, engtag, title, sortOption, currpage, pageSize, path);

            if (rtn.drawing != null)
            {
                var x = (from m in rtn.drawing select m.DrawingID).Distinct();
                string drawingIDs = Element.Shared.Common.Utilities.BuildIDArrayXMLParametr(x.ToArray());

                if (!string.IsNullOrEmpty(drawingIDs))
                {
                    drawingcwp = GetDrawingCwpByIDs(drawingIDs);
                    Drawingreference = GetDrawingreferenceByIDs(drawingIDs);
                    mtos = GetMTOByDrawingIDs_Combo(drawingIDs);
                }

                if (rtn.drawing.Count > 0)
                {
                    for (int i = 0; i < rtn.drawing.Count; i++)
                    {
                        if (drawingcwp != null && drawingcwp.Count > 0)
                        {
                            List<DrawingcwpDTO> cwps = (from dcwp in drawingcwp where dcwp.DrawingID == rtn.drawing[i].DrawingID select dcwp).ToList();
                            if (cwps != null)
                                rtn.drawing[i].drawingcwp = cwps;
                        }

                        if (Drawingreference != null && Drawingreference.Count > 0)
                        {
                            var drawingrefs = Drawingreference.Where(y => y.DrawingID == rtn.drawing[i].DrawingID).ToList();
                            if (drawingrefs != null)
                                rtn.drawing[i].drawingref = drawingrefs;
                        }

                        if (mtos != null && mtos.Count > 0)
                        {
                            var mto = mtos.Where(y => y.DataID == rtn.drawing[i].DrawingID).ToList();
                            if (mto != null)
                                rtn.drawing[i].mto = mto;
                        }
                    }
                }
            }

            return rtn;
        }