示例#1
0
        static void MergeRows(MomaDataSet.MembersDataTable tbl)
        {
            int count = tbl.Count;

            if (count == 1)
            {
                return;
            }
            if (count > 4 || count <= 0)
            {
                throw new Exception("This should not happen");
            }

            MomaDataSet.MembersRow row0 = tbl [0];
            MergeRow(row0, tbl [1]);
            if (count > 2)
            {
                MergeRow(row0, tbl [2]);
            }
            if (count > 3)
            {
                MergeRow(row0, tbl [3]);
            }

            while (count > 1)
            {
                tbl.Rows.RemoveAt(1);
                count--;
            }
        }
示例#2
0
 static void MergeRow(MomaDataSet.MembersRow row0, MomaDataSet.MembersRow other)
 {
     row0.IsFixed   |= other.IsFixed;
     row0.IsTodo    |= other.IsTodo;
     row0.IsMissing |= other.IsMissing;
     row0.IsNiex    |= other.IsNiex;
     if (!other.IsTODOCommentNull())
     {
         row0.TODOComment = other.TODOComment;
     }
 }
示例#3
0
 public MomaDataSet GetApiData(string apiname)
 {
     using (DbConnection cnc = GetConnection()) {
         DbCommand cmd = cnc.CreateCommand();
         cmd.CommandText =
             "SELECT m.member_id as 'MemberId' , v.version_name AS 'VersionName', m.name as 'Name', " +
             "       CASE m.is_todo WHEN b'1' THEN TRUE ELSE FALSE END as 'IsTodo', " +
             "       CASE m.is_missing WHEN b'1' THEN TRUE ELSE FALSE END as 'IsMissing', " +
             "       CASE m.is_niex WHEN b'1' THEN TRUE ELSE FALSE END as 'IsNiex', " +
             "       CASE m.is_fixed WHEN b'1' THEN TRUE ELSE FALSE END as 'IsFixed', " +
             "       m.fixed_in_version as 'FixedInVersion', m.todo_comment as 'TodoComment' " +
             "FROM members m " +
             "INNER JOIN versions v ON v.version_id = m.version_id " +
             "WHERE m.name = @name";
         AddParameter(cmd, "name", apiname);
         MomaDataSet   ds      = new MomaDataSet();
         DbDataAdapter adapter = GetDataAdapter(cmd);
         adapter.Fill(ds, "Members");
         if (ds.Members.Rows.Count > 0)
         {
             MergeRows(ds.Members);
             MomaDataSet.MembersRow row = ds.Members[0];
             cmd             = cnc.CreateCommand();
             cmd.CommandText =
                 "SELECT COUNT(*) AS 'TotalApps', SUM(r.count) AS 'TotalCalls' " +
                 "FROM reports_members r " +
                 "WHERE r.member_id = @memberid";
             AddParameter(cmd, "memberid", row.MemberId);
             adapter = GetDataAdapter(cmd);
             adapter.Fill(ds, "ApiUse");
             if (ds.ApiUse [0].IsTotalCallsNull())
             {
                 ds.ApiUse [0].TotalCalls = 0;
             }
             cmd             = cnc.CreateCommand();
             cmd.CommandText =
                 "SELECT r.report_id as 'ReportId', r.guid, r.submit_date as 'SubmitDate', " +
                 "	rc.totaltodo, rc.totalmissing, rc.totalniex, rc.totalpinvoke "+
                 "FROM reports_master r " +
                 "INNER JOIN reports_counts rc ON rc.report_id = r.report_id " +
                 "INNER JOIN reports_members rm ON r.report_id = rm.report_id AND rm.member_id = @member_id " +
                 "ORDER BY submitdate DESC";
             AddParameter(cmd, "member_id", row.MemberId);
             adapter = GetDataAdapter(cmd);
             adapter.Fill(ds, "Applications");
         }
         return(ds);
     }
 }
示例#4
0
        ApiViewData GetModel(string apiname)
        {
            ApiViewData model = new ApiViewData();

            model.Title = apiname;
            model.Data  = db.GetApiData(apiname);
            MomaDataSet.MembersRow row = model.Data.Members[0];
            model.Name   = row.Name;
            model.Status = Util.GetStatus(row);
            if (!row.IsTODOCommentNull())
            {
                model.Comment = row.TODOComment;
            }
            return(model);
        }
示例#5
0
 public static string GetStatus(MomaDataSet.MembersRow row)
 {
     if (row.IsFixed)
     {
         return("DONE");
     }
     if (row.IsTodo && row.IsNiex)
     {
         return("TODO and Not Implemented");
     }
     if (row.IsTodo)
     {
         return("TODO");
     }
     if (row.IsNiex)
     {
         return("Not Implemented");
     }
     if (row.IsMissing)
     {
         return("Missing");
     }
     throw new Exception("This should never happen");
 }