Esempio n. 1
0
        public void TestMasterRecordCRUD()
        {
            MasterReportDto dto = new MasterReportDto(MasterReportDto.TransientId, new List<MasterQuestionnaireDto>(), "", DateTime.Now, new List<Pair<PageElementType, string>>(), "");
            MasterReportDto persDto = FormRegistry.MasterReportDao.Create(dto);
            Assert.AreNotEqual(0, persDto.MasterRptId);
            _createdMasterReports.Add(persDto.MasterRptId);
            
            List<MasterReportDto> list = FormRegistry.MasterReportDao.GetMasterReports(null, null, null, null, "ad");
            Assert.IsNotNull(list);
            Assert.Less(0, list.Count);
            MasterReportDto persDto2 = list.Find(delegate(MasterReportDto cur) { return cur.MasterRptId == persDto.MasterRptId; });
            Assert.IsNotNull(persDto2);

            Assert.IsFalse(dto.Equals(persDto2, false));

            MasterReport mr = new MasterReport(persDto);
            MasterQuestionnaireDto mq = new MasterQuestionnaireDto(_currentQuestionnaire.QuestionnaireId, _currentQuestionnaire.QidTitle, _currentCampaign.CampaignCode, DateTime.Today, DateTime.Today, "*****@*****.**");
            mr.AddSchQuestionnaire(mq);
            mr.Save();
            MasterReport mr2 = new MasterReport(persDto2);
            //Assert.IsTrue(mr2.ValidateMaster());
            List<MasterQuestionnaireDto> mqs = MasterReport.GetMasterQuestions(mr2.Dto.MasterRptId);
            if(mqs.Count > 0)
                Assert.Less(0 , mqs.Count);
            else
                Assert.IsEmpty(mqs);

            if(mqs.Count > 0)
                Assert.IsTrue(mqs.Exists(delegate(MasterQuestionnaireDto cur) { return cur.QId == mq.QId; }));
            else
                Assert.IsFalse(mqs.Exists(delegate(MasterQuestionnaireDto cur) { return cur.QId == mq.QId; }));

            FormRegistry.QuestionnaireDao.Delete(mq.QId, TestUser);
            _createdQuestionnaires.Remove(mq.QId);
            mqs = MasterReport.GetMasterQuestions(mr2.Dto.MasterRptId);
            Assert.IsNotNull(mqs);
            Assert.AreEqual(0, mqs.Count);

            FormRegistry.MasterReportDao.DeleteMasterReport(persDto.MasterRptId);
            _createdMasterReports.Remove(persDto.MasterRptId);

            list = FormRegistry.MasterReportDao.GetMasterReports(null, null, null, null, "ad");
            Assert.IsNotNull(list);
            persDto = list.Find(delegate(MasterReportDto cur) { return cur.MasterRptId == persDto2.MasterRptId; });
            Assert.IsNull(persDto);
        }
Esempio n. 2
0
        public List<MasterQuestionnaireDto> GetMasterQuestionnaires(int mstrid)
        {
            Hashtable h_params = new Hashtable();
            h_params.Add("master_id", mstrid);
            List<MasterQuestionnaireDto> lst = new List<MasterQuestionnaireDto>();
            DataSet dt = _dbLayer.ExecProcedure("get_masterquestionaire", h_params);
            if (dt != null)
            {
                if (dt.Tables.Count > 0)
                {
                    if (dt.Tables[0].Rows.Count > 0)
                    {

                        foreach (DataRow dr in dt.Tables[0].Rows)
                        {
                            MasterQuestionnaireDto mq = new MasterQuestionnaireDto();
                            mq.QId = (int)dr[0];
                            mq.CName = dr[3].ToString();
                            mq.QName = dr[6].ToString();
                            lst.Add(mq);
                        }
                    }
                }
            }
            return lst;
        }
        protected void AddMasterQ_Click(object sender, System.EventArgs e)
        {
            bool isValid = true;
            if (campaign_list.SelectedItem.Value == "-- Please choose... --")
            {
                isValid = false;
                error_campaign.ForeColor = Color.Red;
                error_campaign.Visible = true;
                error_campaign.Text = "</br>Please Select a Campaign";
            }
            else
            {
                error_campaign.Visible = false;
            }
            #region check if a questionnaire is selected
            if (isValid)
            {
                if (questionnaires_list.SelectedItem.Value == "-1")
                {
                    isValid = isValid & false;
                    error_questionnaire.Visible = true;
                    error_questionnaire.Text = "</br>Please Select a Questionnaire";
                }
                else
                {
                    error_questionnaire.Visible = false;
                }
            }
            #endregion
            if (isValid)
            {
                if ((mstrId.Value == "" || mstrId.Value == "0"))
                {
                    if (content == "new")
                        isValid = createMasterReportNew();
                }
            }

            if (isValid)
            {
                int qid;
                int.TryParse(questionnaires_list.SelectedValue, out qid);
                if (qid > 0)
                {
                    MasterQuestionnaireDto mq = new MasterQuestionnaireDto();
                    mq.QId = qid;
                    mq.QName = questionnaires_list.SelectedItem.Text.Substring(questionnaires_list.SelectedItem.Text.LastIndexOf('(') + 1, ((questionnaires_list.SelectedItem.Text.LastIndexOf('-') - 2) - questionnaires_list.SelectedItem.Text.LastIndexOf('(') + 1)).Trim();


                    mq.CName = campaign_list.SelectedValue;

                    string errMsg = "";

                    if (mrd == null)
                        isValid = createMasterReportNew();


                    if (mrd != null)
                    {
                        errMsg = mrd_local.AddSchQuestionnaire(mq);
                        mstrId.Value = mrd_local.Dto.MasterRptId.ToString();
                        if (mrd_local.Dto.MElementHeading.Count > 0)
                        {
                            dtl1.DataSource = mrd_local.Dto.MElementHeading;
                            dtl1.DataBind();
                        }
                        else { lbl2.Text = "No variable column exists for this Questionnaire/s."; }

                        dg1.DataSource = mrd_local.Dto.MasterQ;
                        dg1.DataBind();
                        pnlQuest.Visible = true;
                        pnlTimeFrame.Visible = true;
                    }
                    else errMsg = "could not add the questionnaire please try from start";
                    lbl1.ForeColor = Color.Red;
                    lbl1.Text = string.IsNullOrEmpty(errMsg) ? null : "<b>" + errMsg + "</b>";
                }
                else
                {
                    error_questionnaire.Visible = true;
                }
            }



        }
        private void Page_Load_new()
        {
            // Put user code to initialize the page here
            string errMsg = string.Empty;

            string titl = exp ? "Create a new scheduled export of master report" : "Create a new export of master report";
            page_utilities.Set_titles(this, titl);

            choose_table = new DataTable();
            choose_table.Columns.Add("rdate");
            choose_table.Columns.Add("country_language");
            DataRow add_row = choose_table.NewRow();
            add_row["country_language"] = "-- Please choose... --";
            add_row["rdate"] = "-- Please choose... --";
            choose_table.Rows.InsertAt(add_row, 0);

            lb_email_error_invalid.Visible = false;
            lb_email_error_nonhp.Visible = false;
            lb_email_error_nopermission.Visible = false;
            lb_email_error_tworecipients.Visible = false;


            #region if admin then schedule can be set on behalf
            admin_behalf.Visible = (permss.UserType == UserType.Admin);
            #endregion
            //madan added for the quesionaire visible
            if (exp)
                campaign_list.Enabled = (schedule_mode.SelectedIndex <= 0) ? false : true;


            if (!this.IsPostBack)
            {
                #region display inactive please choose for questionnaire
                questionnaires_list.DataSource = choose_table;
                questionnaires_list.DataValueField = "rdate";
                questionnaires_list.DataBind();
                #endregion

                #region display inactive please choose for possible_users
                if (permss.UserType == UserType.Admin)
                {
                    dd_possible_users.Items.Add("-- Please choose... --");
                    dd_possible_users.DataBind();
                }
                #endregion

                #region load campaigns
                string countriesQ = null;
                string countriesP = null;

                if (permss.UserType == UserType.CountryUserWithDataAccess)
                {
                    countriesQ = String.Empty;
                    countriesP = String.Empty;
                    if (permss.ListOfPermitedCountriesQuestionnaire != null &&
                        permss.ListOfPermitedCountriesQuestionnaire.Count > 0)
                    {                        
                        for (int i = 0; i < permss.ListOfPermitedCountriesQuestionnaire.Count; i++)
                        {
                            if (i != 0)
                            {
                                countriesQ += ",";
                            }
                            countriesQ += permss.ListOfPermitedCountriesQuestionnaire[i].Country;
                        }
                    }

                    if (permss.ListOfPermitedCountriesProcessor != null &&
                       permss.ListOfPermitedCountriesProcessor.Count > 0)
                    {                        
                        for (int i = 0; i < permss.ListOfPermitedCountriesProcessor.Count; i++)
                        {
                            if (i != 0)
                            {
                                countriesP += ",";
                            }
                            countriesP += permss.ListOfPermitedCountriesProcessor[i].Country;
                        }
                    }
                }

                //don't show empty campaigns (campaigns without any questionnaire)				

                List<CampaignDto> listOfCampaigns = new List<CampaignDto>();
                listOfCampaigns.Add(new CampaignDto()
                {
                    CampaignCode = "-- Please choose... --"
                });
                List<CampaignDto> tempCamp = CampaignFacade.SelectCampaignsByCodeCountriesTypeAndIndicatorIfEmpty(null, countriesQ, countriesP, 0);
                if (tempCamp != null && tempCamp.Count > 0)
                    listOfCampaigns.AddRange(tempCamp);

                campaign_list.DataSource = listOfCampaigns;
                campaign_list.DataValueField = "CampaignCode";
                campaign_list.DataBind();

                campaign_list.Items[0].Selected = true;
                #endregion


            }
            if (dg1 != null)
            {
                for (int i = 0; i < dg1.Items.Count; i++)
                {
                    if (i == 0)
                    {
                        if (mrd == null)
                        {
                            if (createMasterReportNew())
                            {
                                if (mrd != null)
                                {
                                    MasterQuestionnaireDto mq = new MasterQuestionnaireDto();
                                    mq.QId = Convert.ToInt32(dg1.Items[i].Cells[1].Text.ToString());
                                    mq.CName = dg1.Items[i].Cells[2].Text.ToString();
                                    mq.QName = dg1.Items[i].Cells[3].Text.ToString();
                                    errMsg = mrd.AddSchQuestionnaire(mq);
                                }
                            }
                        }
                    }
                    else
                    {
                        if (mrd != null)
                        {
                            MasterQuestionnaireDto mq = new MasterQuestionnaireDto();
                            mq.QId = Convert.ToInt32(dg1.Items[i].Cells[1].Text.ToString());
                            mq.CName = dg1.Items[i].Cells[2].Text.ToString();
                            mq.QName = dg1.Items[i].Cells[3].Text.ToString();
                            errMsg = mrd.AddSchQuestionnaire(mq);
                        }
                    }

                }
            }
            if (!IsPostBack)
                mrd_local = mrd;
        }
Esempio n. 5
0
        protected void AddMasterQ_Click(object sender, System.EventArgs e)
        {
            if (end_date.SelectedIndex != 0)
            {
                if (Session["Master"] == null)
                {
                    MasterReport master = new MasterReport(permss.EmailAddress);
                    Session["Master"]=master;
                    Session["IsMasterReport"] = true;
                }
                int qid;
                int.TryParse(questionnaires_list.SelectedValue,out qid);
                #region convert dates
				int s_year = Int32.Parse(start_date.SelectedItem.Text.Split('/')[2]);
				int s_month = Int32.Parse(start_date.SelectedItem.Text.Split('/')[1]);
				int s_day = Int32.Parse(start_date.SelectedItem.Text.Split('/')[0]);

				int e_year = Int32.Parse(end_date.SelectedItem.Text.Split('/')[2]);
				int e_month = Int32.Parse(end_date.SelectedItem.Text.Split('/')[1]);
				int e_day = Int32.Parse(end_date.SelectedItem.Text.Split('/')[0]);

				from = new DateTime(s_year, s_month, s_day, 0, 0, 0);
				//TODO Susann change to also recognize responses received after (milliseconds) 23:59:59,000
                //until = new DateTime(e_year, e_month, e_day, 23, 59, 59);
                until = new DateTime(e_year, e_month, e_day, 0, 0, 0);
                until = until.AddDays(1d);

				#endregion
                MasterQuestionnaireDto Mq = new MasterQuestionnaireDto(qid, ViewState["questionnaire_title"].ToString(),
                    campaign_list.SelectedValue, from, until,count_responses_time.Text.ToString());
                string errMsg = "";
                MasterReport mrd = (MasterReport)Session["Master"];
                errMsg= mrd.AddQuestionnaire(Mq);
                lbl1.Text = string.IsNullOrEmpty(errMsg)?null:errMsg;
                
                //add to datalist
                System.Collections.Generic.Dictionary<string, string> dct = new System.Collections.Generic.Dictionary<string, string>();
                foreach (Pair<PageElementType, string> element in mrd.Dto.MElementHeading)
                { dct.Add(Migration.Convert(element.First), element.Second); }
                if (mrd.Dto.MElementHeading.Count > 0)
                {
                dtl1.DataSource =dct;
                dtl1.DataBind();
                }
                else { lbl2.Text = "No Dynamic Questions exists for this Questionnaire."; }
                dg1.DataSource = mrd.Dto.MasterQ;//TODO: 1.9.6 masterreport this might cause problems
                dg1.DataBind();
                pnlQuest.Visible = true;
            }
        }