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; }
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; }