Exemplo n.º 1
0
 /// <summary>
 /// Copies a page object into this one.
 /// </summary>
 /// <param name="other">The page</param>
 public void CopyTo(Epi.Page other)
 {
     other.Name            = this.Name;
     other.Position        = this.Position;
     other.CheckCodeBefore = this.CheckCodeBefore;
     other.CheckCodeAfter  = this.CheckCodeAfter;
 }
Exemplo n.º 2
0
        public void ClickFieldHandler(object sender, ClickFieldEventArg e)
        {
            Control currentControl = (Control)sender;

            if (e.Field is RelatedViewField)
            {
                this.EnterCheckCodeEngine.CheckCodeHandler(sender, new RunCheckCodeEventArgs(EventActionEnum.ClickField, ""));

                if (CheckRequiredFields(currentControl))
                {
                    RelatedViewField rvField   = (RelatedViewField)e.Field;
                    Epi.View         childView = rvField.GetProject().Metadata.GetChildView(rvField);

                    if (childView == null)
                    {
                        MsgBox.Show(SharedStrings.WARNING_CHILD_VIEW_NOT_SET, SharedStrings.ENTER);
                    }
                    else
                    {
                        childView.ReturnToParent = rvField.ShouldReturnToParent;
                        if (childView != null)
                        {
                            this.SetFieldData();
                            this.EnterCheckCodeEngine.SaveRecord();
                            childView.ForeignKeyField.CurrentRecordValueString = rvField.GetView().CurrentGlobalRecordId;
                            this.OpenViewHandler(this, new OpenViewEventArgs(childView));
                        }
                    }
                }
            }
            else if (e.Field is CommandButtonField)
            {
                ControlFactory   factory   = ControlFactory.Instance;
                Epi.Page         ThisPage  = this.EnterCheckCodeEngine.CurrentView.CurrentPage;
                Epi.Fields.Field ThisField = this.EnterCheckCodeEngine.CurrentView.CurrentField;

                this.EnterCheckCodeEngine.CheckCodeHandler(sender, new RunCheckCodeEventArgs(EventActionEnum.ClickField, ""));
            }
            else if (e.Field is ImageField)
            {
                SelectImage(e.Field as ImageField, sender as PictureBox);
            }
            else if (e.Field is CheckBoxField)
            {
                ControlFactory   factory   = ControlFactory.Instance;
                Epi.Page         ThisPage  = this.EnterCheckCodeEngine.CurrentView.CurrentPage;
                Epi.Fields.Field ThisField = this.EnterCheckCodeEngine.CurrentView.CurrentField;
                this.EnterCheckCodeEngine.CheckCodeHandler(sender, new RunCheckCodeEventArgs(EventActionEnum.ClickField, ""));
            }
            else if (e.Field is OptionField)
            {
                ControlFactory   factory   = ControlFactory.Instance;
                Epi.Page         ThisPage  = this.EnterCheckCodeEngine.CurrentView.CurrentPage;
                Epi.Fields.Field ThisField = this.EnterCheckCodeEngine.CurrentView.CurrentField;
                this.EnterCheckCodeEngine.CheckCodeHandler(sender, new RunCheckCodeEventArgs(EventActionEnum.ClickField, ""));
            }
        }
Exemplo n.º 3
0
        private void OpenPage(object sender, RunCheckCodeEventArgs e)
        {
            this.UnRollPage();

            // push after_page onto stack
            if (this.AfterStack.Peek().Key == EventActionEnum.CloseView)
            {
                this.OpenRecord(sender, new RunCheckCodeEventArgs(EventActionEnum.OpenRecord, "<<"));
            }

            Epi.Page page = this.mView.Pages.Find(x => x.Name.ToUpperInvariant() == e.Parameter.ToUpperInvariant());
            this.mCurrentPage = page;
            this.AfterStack.Push(new KeyValuePair <EventActionEnum, StackCommand>(EventActionEnum.ClosePage, new StackCommand(this.EpiInterpreter, "page", "after", page.Name)));
            this.ExecuteCheckCode("page", "before", page.Name);
        }
Exemplo n.º 4
0
        /*private void OpenView(object sender, RunCheckCodeEventArgs e)
         * {
         *
         * }*/
        public void CloseView(object sender, RunCheckCodeEventArgs e)
        {
            //execute after stack until current level = view
            while (this.AfterStack.Count > 0)
            {
                this.AfterStack.Pop().Value.Execute();
            }

            this.mCurrentField = null;
            this.mCurrentPage  = null;
            this.mView         = null;

            // then execute current level after_view
            //this.RunCheckCodeCommands(this.mView.CheckCodeAfter);
        }
Exemplo n.º 5
0
        public void OpenViewHandler(object sender, OpenViewEventArgs e)
        {
            if (this.mView.GetProject().CollectedData.TableExists(mView.TableName) == false)
            {
                this.mView.GetProject().CollectedData.CreateDataTableForView(mView, 1);
            }

            this.mView.MustRefreshFieldCollection = true;

            if (this.mView.IsRelatedView)
            {
                this.mView.ForeignKeyField.CurrentRecordValueString = this.ParentGlobalRecordId;
            }

            this.mCurrentPage = this.mView.Pages[0];

            // access fields to be sure available  in the checkcode
            Epi.Collections.FieldCollectionMaster Fields = this.mView.Fields;

            // push after_view onto stack
            this.AfterStack.Push(new KeyValuePair <EventActionEnum, StackCommand>(EventActionEnum.CloseView, new StackCommand(this.EpiInterpreter, "view", "after", "")));

            // execute before_view
            //this.RunCheckCodeCommands(this.mView.CheckCodeVariableDefinitions);

            // will run the variable definitions and setup compiled context
            foreach (Field field in this.View.Fields)
            {
                if (field is IDataField)
                {
                    EpiInfo.Plugin.IVariable definedVar = (EpiInfo.Plugin.IVariable)field;
                    this.mEpiInterpreter.Context.DefineVariable(definedVar);
                }
            }

            this.RunCheckCodeCommands(this.mView.CheckCode);

            this.ExecuteCheckCode("view", "before", "");
            this.recordCount = this.View.GetRecordCount();
        }
Exemplo n.º 6
0
        public void CloseFieldHandler(object sender, CloseFieldEventArg closeFieldEventArg)
        {
            Control currentControl = (Control)sender;

            if (closeFieldEventArg.Field is Epi.Fields.GridField)
            {
            }
            else if (closeFieldEventArg.Field is ImageField)
            {
                SelectImage(closeFieldEventArg.Field as ImageField, currentControl as PictureBox);
            }
            else
            {
                if (closeFieldEventArg.Field is CheckBoxField)
                {
                    SetCheckBoxData(closeFieldEventArg.Field, currentControl);
                }
                else
                {
                    ControlFactory factory      = ControlFactory.Instance;
                    List <Control> fieldControl = factory.GetAssociatedControls(closeFieldEventArg.Field);

                    if (fieldControl.Count > 0)
                    {
                        int index = 0;

                        if (fieldControl.Count > 1)
                        {
                            index++;
                        }
                        if (IsValidData(fieldControl[index]) == false)
                        {
                            return;
                        }

                        SetFieldData(fieldControl[index]);
                    }
                }

                Epi.Page         ThisPage  = this.EnterCheckCodeEngine.CurrentView.CurrentPage;
                Epi.Fields.Field ThisField = this.EnterCheckCodeEngine.CurrentView.CurrentField;
                this.EnterCheckCodeEngine.CheckCodeHandler(sender, new RunCheckCodeEventArgs(EventActionEnum.CloseField, ""));
                View TestView = this.EnterCheckCodeEngine.CurrentView.View;

                if (
                    ThisPage == this.EnterCheckCodeEngine.CurrentView.CurrentPage &&
                    ThisField == this.EnterCheckCodeEngine.CurrentView.CurrentField
                    )
                {
                    if (this.IsLastControlOnPage(currentControl) && closeFieldEventArg.Tab == true)
                    {
                        if (this.IsLastControlOnView(currentControl) && isNewRecord == false)
                        {
                            Page firstPage = this.EnterCheckCodeEngine.CurrentView.View.Pages[0];
                            this.OpenPageHandler(sender, new PageSelectedEventArgs(firstPage));
                        }
                        else if (this.IsLastControlOnView(currentControl) && isNewRecord == true)
                        {
                            if (!AllowOneRecordOnly)
                            {
                                this.GoToRecordHandler(sender, new GoToRecordEventArgs("+"));
                            }
                        }
                        else if (canvas.EnableTabToNextControl)
                        {
                            for (int i = 0; i < TestView.Pages.Count; i++)
                            {
                                Page TestPage = this.EnterCheckCodeEngine.CurrentView.View.Pages[i];
                                if (TestPage.Equals(this.currentPage))
                                {
                                    if (i + 1 < TestView.Pages.Count)
                                    {
                                        this.OpenPageHandler(sender, new PageSelectedEventArgs(TestView.Pages[i + 1]));
                                    }

                                    break;
                                }
                            }
                        }
                    }
                    else
                    {
                        if (this.canvas.EnableTabToNextControl)
                        {
                            canvas.GoToNextControl(this.currentPage, this.view, currentControl);
                        }
                    }
                }
            }
        }
Exemplo n.º 7
0
 public Epi.Collections.NamedObjectCollection <Epi.Fields.Field> GetFieldsOnPage(Epi.Page page)
 {
     throw new NotImplementedException();
 }
Exemplo n.º 8
0
 public void DeletePage(Epi.Page page)
 {
     throw new NotImplementedException();
 }
Exemplo n.º 9
0
        private void OpenPage(object sender, RunCheckCodeEventArgs e)
        {
            this.UnRollPage();

            // push after_page onto stack
            if (this.AfterStack.Peek().Key == EventActionEnum.CloseView)
            {
                this.OpenRecord(sender, new RunCheckCodeEventArgs(EventActionEnum.OpenRecord,"<<"));
            }

            Epi.Page page = this.mView.Pages.Find(x => x.Name.ToUpper() == e.Parameter.ToUpper());
            this.mCurrentPage = page;
            this.AfterStack.Push(new KeyValuePair<EventActionEnum, StackCommand>(EventActionEnum.ClosePage, new StackCommand(this.EpiInterpreter, "page", "after", page.Name)));
            this.ExecuteCheckCode("page", "before", page.Name);
        }
Exemplo n.º 10
0
        public void OpenViewHandler(object sender, OpenViewEventArgs e)
        {
            if (this.mView.GetProject().CollectedData.TableExists(mView.TableName) == false)
            {
                this.mView.GetProject().CollectedData.CreateDataTableForView(mView, 1);
            }

            this.mView.MustRefreshFieldCollection = true;

            if (this.mView.IsRelatedView)
            {
                this.mView.ForeignKeyField.CurrentRecordValueString = this.ParentGlobalRecordId;
            }

            this.mCurrentPage = this.mView.Pages[0];

            // access fields to be sure available  in the checkcode
            Epi.Collections.FieldCollectionMaster Fields =  this.mView.Fields;

            // push after_view onto stack
            this.AfterStack.Push(new KeyValuePair<EventActionEnum, StackCommand>(EventActionEnum.CloseView, new StackCommand(this.EpiInterpreter, "view","after","")));

            // execute before_view
            //this.RunCheckCodeCommands(this.mView.CheckCodeVariableDefinitions);

            // will run the variable definitions and setup compiled context
            foreach (Field field in this.View.Fields)
            {
                if (field is IDataField)
                {
                    EpiInfo.Plugin.IVariable definedVar = (EpiInfo.Plugin.IVariable)field;
                    this.mEpiInterpreter.Context.DefineVariable(definedVar);
                }
            }

            this.RunCheckCodeCommands(this.mView.CheckCode);

            this.ExecuteCheckCode("view","before","");
            this.recordCount = this.View.GetRecordCount();
        }
Exemplo n.º 11
0
        /*private void OpenView(object sender, RunCheckCodeEventArgs e)
        {

        }*/
        public void CloseView(object sender, RunCheckCodeEventArgs e)
        {
            //execute after stack until current level = view
            while (this.AfterStack.Count > 0)
            {
                    this.AfterStack.Pop().Value.Execute();
            }

            this.mCurrentField = null;
            this.mCurrentPage = null;
            this.mView = null;

            // then execute current level after_view
            //this.RunCheckCodeCommands(this.mView.CheckCodeAfter);
        }
 public PageSelectedEventArgs(Epi.Page pPage)
 {
     this.page = pPage;
 }
Exemplo n.º 13
0
 public PageSelectedEventArgs(Epi.Page pPage)
 {
     this.page = pPage;
 }
Exemplo n.º 14
0
        void computeWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            Result        result     = new Result();
            EpiDataHelper DataHelper = e.Argument as EpiDataHelper;

            if (DataHelper != null)
            {
                string format = "P1";

                double totalConfirmedProbableCases = (from caseVM in DataHelper.CaseCollection
                                                      where caseVM.EpiCaseDef == Core.Enums.EpiCaseClassification.Confirmed || caseVM.EpiCaseDef == Core.Enums.EpiCaseClassification.Probable
                                                      select caseVM).Count();

                Epi.Fields.DDLFieldOfCommentLegal feverField   = DataHelper.Project.Views[ContactTracing.Core.Constants.CASE_FORM_NAME].Fields["Fever"] as Epi.Fields.DDLFieldOfCommentLegal;
                Epi.Fields.DDLFieldOfCommentLegal caseDefField = DataHelper.Project.Views[ContactTracing.Core.Constants.CASE_FORM_NAME].Fields["EpiCaseDef"] as Epi.Fields.DDLFieldOfCommentLegal;

                if (feverField != null && caseDefField != null && feverField.Page != null && caseDefField.Page != null)
                {
                    Epi.Page symptomPage = feverField.Page;
                    Epi.Page firstPage   = caseDefField.Page;

                    IDbDriver db          = DataHelper.Project.CollectedData.GetDatabase();
                    Query     selectQuery = db.CreateQuery("SELECT * FROM " + symptomPage.TableName + " symp INNER JOIN " + firstPage.TableName + " fp ON symp.GlobalRecordId = fp.GlobalRecordId WHERE fp.EpiCaseDef = '1' OR fp.EpiCaseDef = '2'");
                    DataTable table       = db.Select(selectQuery);

                    double count = (from DataRow row in table.Rows
                                    where row["Fever"].ToString() == "1"
                                    select row).Count();
                    result.PresentFever = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["Vomiting"].ToString() == "1"
                             select row).Count();
                    result.PresentVomiting = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["Diarrhea"].ToString() == "1"
                             select row).Count();
                    result.PresentDiarrhea = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["Fatigue"].ToString() == "1"
                             select row).Count();
                    result.PresentFatigue = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["Anorexia"].ToString() == "1"
                             select row).Count();
                    result.PresentAnorexia = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["AbdPain"].ToString() == "1"
                             select row).Count();
                    result.PresentAbPain = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["ChestPain"].ToString() == "1"
                             select row).Count();
                    result.PresentChestPain = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["MusclePain"].ToString() == "1"
                             select row).Count();
                    result.PresentMusclePain = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["JointPain"].ToString() == "1"
                             select row).Count();
                    result.PresentJointPain = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["Headache"].ToString() == "1"
                             select row).Count();
                    result.PresentHeadache = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["Cough"].ToString() == "1"
                             select row).Count();
                    result.PresentCough = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["DiffBreathe"].ToString() == "1"
                             select row).Count();
                    result.PresentDiffBreath = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["DiffSwallow"].ToString() == "1"
                             select row).Count();
                    result.PresentDiffSwallow = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["SoreThroat"].ToString() == "1"
                             select row).Count();
                    result.PresentSoreThroat = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["Jaundice"].ToString() == "1"
                             select row).Count();
                    result.PresentJaundice = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["Conjunctivitis"].ToString() == "1"
                             select row).Count();
                    result.PresentConj = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["Rash"].ToString() == "1"
                             select row).Count();
                    result.PresentSkinRash = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["Hiccups"].ToString() == "1"
                             select row).Count();
                    result.PresentHiccups = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["PainEyes"].ToString() == "1"
                             select row).Count();
                    result.PresentPainEye = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["Unconscious"].ToString() == "1"
                             select row).Count();
                    result.PresentComa = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["Confused"].ToString() == "1"
                             select row).Count();
                    result.PresentConfused = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["Unexplainedbleeding"].ToString() == "1"
                             select row).Count();
                    result.PresentHemorrhagic = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";



                    count = (from DataRow row in table.Rows
                             where row["Fever"].ToString() == "2"
                             select row).Count();
                    result.AbsentFever = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["Vomiting"].ToString() == "2"
                             select row).Count();
                    result.AbsentVomiting = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["Diarrhea"].ToString() == "2"
                             select row).Count();
                    result.AbsentDiarrhea = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["Fatigue"].ToString() == "2"
                             select row).Count();
                    result.AbsentFatigue = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["Anorexia"].ToString() == "2"
                             select row).Count();
                    result.AbsentAnorexia = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["AbdPain"].ToString() == "2"
                             select row).Count();
                    result.AbsentAbPain = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["ChestPain"].ToString() == "2"
                             select row).Count();
                    result.AbsentChestPain = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["MusclePain"].ToString() == "2"
                             select row).Count();
                    result.AbsentMusclePain = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["JointPain"].ToString() == "2"
                             select row).Count();
                    result.AbsentJointPain = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["Headache"].ToString() == "2"
                             select row).Count();
                    result.AbsentHeadache = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["Cough"].ToString() == "2"
                             select row).Count();
                    result.AbsentCough = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["DiffBreathe"].ToString() == "2"
                             select row).Count();
                    result.AbsentDiffBreath = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["DiffSwallow"].ToString() == "2"
                             select row).Count();
                    result.AbsentDiffSwallow = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["SoreThroat"].ToString() == "2"
                             select row).Count();
                    result.AbsentSoreThroat = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["Jaundice"].ToString() == "2"
                             select row).Count();
                    result.AbsentJaundice = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["Conjunctivitis"].ToString() == "2"
                             select row).Count();
                    result.AbsentConj = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["Rash"].ToString() == "2"
                             select row).Count();
                    result.AbsentSkinRash = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["Hiccups"].ToString() == "2"
                             select row).Count();
                    result.AbsentHiccups = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["PainEyes"].ToString() == "2"
                             select row).Count();
                    result.AbsentPainEye = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["Unconscious"].ToString() == "2"
                             select row).Count();
                    result.AbsentComa = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["Confused"].ToString() == "2"
                             select row).Count();
                    result.AbsentConfused = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["Unexplainedbleeding"].ToString() == "2"
                             select row).Count();
                    result.AbsentHemorrhagic = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";



                    count = (from DataRow row in table.Rows
                             where row["Fever"].ToString() == "3" || String.IsNullOrEmpty(row["Fever"].ToString())
                             select row).Count();
                    result.UnknownFever = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["Vomiting"].ToString() == "3" || String.IsNullOrEmpty(row["Vomiting"].ToString())
                             select row).Count();
                    result.UnknownVomiting = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["Diarrhea"].ToString() == "3" || String.IsNullOrEmpty(row["Diarrhea"].ToString())
                             select row).Count();
                    result.UnknownDiarrhea = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["Fatigue"].ToString() == "3" || String.IsNullOrEmpty(row["Fatigue"].ToString())
                             select row).Count();
                    result.UnknownFatigue = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["Anorexia"].ToString() == "3" || String.IsNullOrEmpty(row["Anorexia"].ToString())
                             select row).Count();
                    result.UnknownAnorexia = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["AbdPain"].ToString() == "3" || String.IsNullOrEmpty(row["AbdPain"].ToString())
                             select row).Count();
                    result.UnknownAbPain = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["ChestPain"].ToString() == "3" || String.IsNullOrEmpty(row["ChestPain"].ToString())
                             select row).Count();
                    result.UnknownChestPain = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["MusclePain"].ToString() == "3" || String.IsNullOrEmpty(row["MusclePain"].ToString())
                             select row).Count();
                    result.UnknownMusclePain = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["JointPain"].ToString() == "3" || String.IsNullOrEmpty(row["JointPain"].ToString())
                             select row).Count();
                    result.UnknownJointPain = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["Headache"].ToString() == "3" || String.IsNullOrEmpty(row["Headache"].ToString())
                             select row).Count();
                    result.UnknownHeadache = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["Cough"].ToString() == "3" || String.IsNullOrEmpty(row["Cough"].ToString())
                             select row).Count();
                    result.UnknownCough = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["DiffBreathe"].ToString() == "3" || String.IsNullOrEmpty(row["DiffBreathe"].ToString())
                             select row).Count();
                    result.UnknownDiffBreath = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["DiffSwallow"].ToString() == "3" || String.IsNullOrEmpty(row["DiffSwallow"].ToString())
                             select row).Count();
                    result.UnknownDiffSwallow = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["SoreThroat"].ToString() == "3" || String.IsNullOrEmpty(row["SoreThroat"].ToString())
                             select row).Count();
                    result.UnknownSoreThroat = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["Jaundice"].ToString() == "3" || String.IsNullOrEmpty(row["Jaundice"].ToString())
                             select row).Count();
                    result.UnknownJaundice = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["Conjunctivitis"].ToString() == "3" || String.IsNullOrEmpty(row["Conjunctivitis"].ToString())
                             select row).Count();
                    result.UnknownConj = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["Rash"].ToString() == "3" || String.IsNullOrEmpty(row["Rash"].ToString())
                             select row).Count();
                    result.UnknownSkinRash = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["Hiccups"].ToString() == "3" || String.IsNullOrEmpty(row["Hiccups"].ToString())
                             select row).Count();
                    result.UnknownHiccups = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["PainEyes"].ToString() == "3" || String.IsNullOrEmpty(row["PainEyes"].ToString())
                             select row).Count();
                    result.UnknownPainEye = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["Unconscious"].ToString() == "3" || String.IsNullOrEmpty(row["Unconscious"].ToString())
                             select row).Count();
                    result.UnknownComa = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["Confused"].ToString() == "3" || String.IsNullOrEmpty(row["Confused"].ToString())
                             select row).Count();
                    result.UnknownConfused = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";

                    count = (from DataRow row in table.Rows
                             where row["Unexplainedbleeding"].ToString() == "3" || String.IsNullOrEmpty(row["Unexplainedbleeding"].ToString())
                             select row).Count();
                    result.UnknownHemorrhagic = count + " (" + (count / totalConfirmedProbableCases).ToString(format) + ")";



                    e.Result = result;
                }
            }
        }