public StatisticalEngineDetails GetStatisticalEngineDetails(string name, string version)
        {
            try
            {
                var       projectParam        = ProjectParameters.GetProjectParameters(projectDBManager, name, version);
                DataTable dtStatEngineDetails = projectDBManager.GetDataTable("SELECT schema, template,uischema,defaultformdata FROM project.get_enginedetails(@name, @version)", CommandType.Text, projectParam.ToArray());

                var statisticalEngineDetails = new StatisticalEngineDetails();

                if (dtStatEngineDetails.Rows.Count > 0)
                {
                    DataRow row = dtStatEngineDetails.Rows[0];

                    statisticalEngineDetails.Schema          = JsonConvert.DeserializeObject(row["Schema"].ToString());
                    statisticalEngineDetails.Template        = JsonConvert.DeserializeObject(row["Template"].ToString());
                    statisticalEngineDetails.UiSchema        = JsonConvert.DeserializeObject(row["UiSchema"].ToString());
                    statisticalEngineDetails.DefaultFormData = JsonConvert.DeserializeObject(row["DefaultFormData"].ToString());
                }

                return(statisticalEngineDetails);
            }
            catch (Exception getStatisticalEngineDatailsException)
            {
                throw new Exception(ExceptionMessages.GET_STAT_ENGINE_DETAILS_DATA_ACCESS_ERROR_MSG, getStatisticalEngineDatailsException);
            }
        }
 public IEnumerable <Project> GetProjects(int resourceID, int projectID = 0, bool listAllProjects = true)
 {
     try
     {
         var            projectParam = ProjectParameters.GetProjectParameters(projectDBManager, projectID, resourceID, listAllProjects);
         DataTable      dtProject    = projectDBManager.GetDataTable("SELECT * FROM project.get_project_list(@project_id,@resource_id,@list_all_projects)", CommandType.Text, projectParam.ToArray());
         List <Project> projects     = dtProject.AsEnumerable()
                                       .Select(x => new Project()
         {
             ID         = x.Field <int>("projectid"),
             Name       = x.Field <string>("projectname"),
             ProtocolID = x.Field <string>("protocolid"),
             Phase      = x.Field <Int16>("phase"),
             CreatedBy  = x.Field <string>("createdby"),
             ResourceID = x.Field <int>("resourceid"),
             Program    = new Program
             {
                 ID   = x.Field <int>("programid"),
                 Name = x.Field <string>("programname")
             },
             Status = new Status
             {
                 ID    = x.Field <Int16>("statusid"),
                 Value = x.Field <string>("projectstatus")
             },
             Indication = new Indication
             {
                 ID    = x.Field <Int16>("indicationid"),
                 Value = x.Field <string>("indicationname")
             },
             ProjectTimeUnit = new ProjectTimeUnit
             {
                 ID    = x.Field <Int16>("timeunitid"),
                 Value = x.Field <string>("timeunit")
             },
             Currency = new Currency
             {
                 ID    = x.Field <Int16>("currencyid"),
                 Value = x.Field <string>("currencyname")
             },
             LastModified = x.Field <DateTime>("modifiedtimestamp"),
             CreatedDate  = x.Field <DateTime>("createdtimestamp"),
         }).ToList();
         return(projects);
     }
     catch (Exception getProjectsException)
     {
         throw new Exception(ExceptionMessages.GET_PROJECTS_DATA_ACCESS_ERROR_MSG, getProjectsException);
     }
 }