Beispiel #1
0
        public void MultiLevelCascade()
        {
            //if( dialect is Dialect.HSQLDialect ) return;

            object mid;
            object m0id;

            using (ISession s = OpenSession())
            {
                Detail    detail    = new Detail();
                SubDetail subdetail = new SubDetail();
                Master    m         = new Master();
                Master    m0        = new Master();
                m0id = s.Save(m0);
                m0.AddDetail(detail);
                detail.Master = m0;
                m.MoreDetails.Add(detail);
                detail.SubDetails = new HashedSet();
                detail.SubDetails.Add(subdetail);
                mid = s.Save(m);
                s.Flush();
            }

            using (ISession s = OpenSession())
            {
                Master      m      = (Master)s.Load(typeof(Master), mid);
                IEnumerator enumer = m.MoreDetails.GetEnumerator();
                enumer.MoveNext();
                Assert.IsTrue(((Detail)enumer.Current).SubDetails.Count != 0);
                s.Delete(m);
                s.Delete(s.Load(typeof(Master), m0id));
                s.Flush();
            }
        }
Beispiel #2
0
        public async Task MultiLevelCascadeAsync()
        {
            //if( dialect is Dialect.HSQLDialect ) return;

            object mid;
            object m0id;

            using (ISession s = OpenSession())
            {
                Detail    detail    = new Detail();
                SubDetail subdetail = new SubDetail();
                Master    m         = new Master();
                Master    m0        = new Master();
                m0id = await(s.SaveAsync(m0));
                m0.AddDetail(detail);
                detail.Master = m0;
                m.MoreDetails.Add(detail);
                detail.SubDetails = new HashSet <SubDetail> {
                    subdetail
                };
                mid = await(s.SaveAsync(m));
                await(s.FlushAsync());
            }

            using (ISession s = OpenSession())
            {
                Master      m      = (Master)await(s.LoadAsync(typeof(Master), mid));
                IEnumerator enumer = m.MoreDetails.GetEnumerator();
                enumer.MoveNext();
                Assert.IsTrue(((Detail)enumer.Current).SubDetails.Count != 0);
                await(s.DeleteAsync(m));
                await(s.DeleteAsync(await(s.LoadAsync(typeof(Master), m0id))));
                await(s.FlushAsync());
            }
        }
Beispiel #3
0
    static void Main(string[] args)
    {
        RootObject obj = new RootObject();

        obj.No  = "1";
        obj.Age = 7;
        int lenght  = 3;
        int counter = 0;

        for (int i = 0; i < lenght; i++)
        {
            SubDetail detail = new SubDetail();
            detail.Sub1 = (counter + 1).ToString();
            detail.Sub2 = (counter + 1).ToString();
            detail.Sub3 = (counter + 1).ToString();
            if (obj.SubDetail == null)
            {
                obj.SubDetail = new List <SubDetail>();
            }
            obj.SubDetail.Add(detail);
        }
        var jsonString = JsonConvert.SerializeObject(obj);

        Console.WriteLine(jsonString);
    }
Beispiel #4
0
    private void refreshSubindicators(QueryManager qm, int dbCheck)
    {
        Dictionary <string, object> parameters = new Dictionary <string, object>
        {
            { "@IND_ID", indCode.Text },
            { "@TARG_ID", hiddenTargId.Text }
        };

        try
        {
            DataSet mainDs = qm.executeReaderDataSet("SELECT  I.Indicator_Code, " +
                                                     "I.Indicator_descEn, I.Indicator_descAr, T.Target_ID, T.Target_DescEn, " +
                                                     "T.Target_DescAr, G.Goal_ID, G.Goal_DescEn, G.Goal_DescAr, " +
                                                     "S.Subindicator_Code, S.Subindicator_DescAr, S.Subindicator_DescEn, S.Is_Uploaded, S.Dimensions, " +
                                                     "S.SERIES, S.UNIT_MULT, S.UNIT_MEASURE, S.OBS_STATUS " +
                                                     "FROM GOAL G INNER JOIN Target T ON G.Goal_ID = T.Goal_ID " +
                                                     "INNER JOIN Ind_Code IC ON T.Target_ID = IC.Target_ID " +
                                                     "INNER JOIN Indicator I ON IC.Indicator_Code = I.Indicator_Code " +
                                                     "INNER JOIN Subindicator S ON S.Indicator_Code = I.Indicator_Code " +
                                                     "WHERE I.Indicator_Code IN(@IND_ID) AND IC.Target_ID IN (@TARG_ID)" +
                                                     "AND S.Is_Valid = 1 " +
                                                     "ORDER BY S.Subindicator_Code", parameters);
            SubDetail.DataSource = mainDs;
            SubDetail.DataBind();

            DataSet dsObsStatus = qm.executeReaderDataSet("SELECT OBS_STATUS," +
                                                          " (OBS_STATUS + ' - ' + OBS_STATUS_DESC_EN) DESC_EN" +
                                                          " FROM CL_OBS_STATUS" +
                                                          " ORDER BY OBS_STATUS");
            DataSet dsUnitMeasure = qm.executeReaderDataSet("SELECT UNIT_MEASURE," +
                                                            " (UNIT_MEASURE + ' - ' + UNIT_MEASURE_DESC_EN) DESC_EN" +
                                                            " FROM CL_UNIT_MEASURE" +
                                                            " ORDER BY UNIT_MEASURE");
            DataSet dsUnitMultiplier = qm.executeReaderDataSet("SELECT UNIT_MULT," +
                                                               " (UNIT_MULT + ' - ' + UNIT_MULT_DESC_EN) DESC_EN" +
                                                               " FROM CL_UNIT_MULT" +
                                                               " ORDER BY UNIT_MULT");

            RepeaterItem rp          = this.SubDetail.Items[this.SubDetail.Items.Count - 1];
            HiddenField  goalIdField = (HiddenField)rp.FindControl("goalId");
            goalId                    = goalIdField.Value;
            backLink.HRef             = "./target.aspx?goalId=" + goalIdField.Value;
            newSubSeries.Value        = "";
            newUnitMeasure.DataSource = dsUnitMeasure;
            newUnitMeasure.DataBind();
            newUnitMultiplier.DataSource = dsUnitMultiplier;
            newUnitMultiplier.DataBind();
            newObsStatus.DataSource = dsObsStatus;
            newObsStatus.DataBind();
            newSubDescEN.Value = "";
            newSubDescAR.Value = "";
            for (int i = 0; i < this.SubDetail.Items.Count; i++)
            {
                RepeaterItem rp2 = this.SubDetail.Items[i];
                DropDownList ddl = (DropDownList)rp2.FindControl("obsStatus");
                ddl.DataSource = dsObsStatus;
                ddl.DataBind();
                ddl.SelectedValue = mainDs.Tables[0].Rows[i][17].ToString().Trim();
                ddl            = (DropDownList)rp2.FindControl("unitMeasure");
                ddl.DataSource = dsUnitMeasure;
                ddl.DataBind();
                ddl.SelectedValue = mainDs.Tables[0].Rows[i][16].ToString().Trim();
                ddl            = (DropDownList)rp2.FindControl("unitMultiplier");
                ddl.DataSource = dsUnitMultiplier;
                ddl.DataBind();
                ddl.SelectedValue = mainDs.Tables[0].Rows[i][15].ToString().Trim();
            }
        }
        catch
        {
            //there are no subindicators from this indicator
            SqlDataReader reader = qm.executeReader(
                "SELECT T.Target_ID, G.Goal_ID FROM GOAL G INNER JOIN Target T ON G.Goal_ID = T.Goal_ID " +
                "INNER JOIN Ind_Code IC ON T.Target_ID = IC.Target_ID WHERE IC.Indicator_Code IN(@ID) AND IC.Target_ID IN (@TARG_ID)", parameters);
            try
            {
                while (reader.Read())
                {
                    goalId        = reader["Goal_ID"].ToString();
                    backLink.HRef = "./target.aspx?goalId=" + goalId;
                }
            }
            finally
            {
                reader.Close();
            }
        }
        switch (dbCheck)
        {
        case 0:
            saveMessage.Text = "";
            break;

        case 1:
            saveMessage.Text = "<div class='db-alert db-success hideMe'>Data updated successfully</div>";
            break;

        case 2:
            saveMessage.Text = "<div class='db-alert db-error hideMe'>Warning! Data not updated.</div>";
            break;
        }
    }