コード例 #1
0
ファイル: Project.cs プロジェクト: LazyBui/Peygir
        public Project(IDatabaseProvider db)
        {
            if (db == null)
            {
                throw new ArgumentNullException(nameof(db));
            }
            name         = string.Empty;
            description  = string.Empty;
            displayOrder = -1;

            // Find max display order.
            ProjectsTableAdapter tableAdapter = db.DB.ProjectsTableAdapter;
            int?maxDisplayOrder = tableAdapter.GetMaxDisplayOrder();

            if (maxDisplayOrder.HasValue)
            {
                displayOrder = maxDisplayOrder.Value + 1;
            }
            else
            {
                displayOrder = 1;
            }

            state = ProjectState.Active;
        }
コード例 #2
0
        public static Project GetProjectById(int projectId)
        {
            if (projectId <= 0)
            {
                throw new ArgumentException(Resources.Organization.MessageZeroProjectId);
            }

            Project theData = null;

            try
            {
                ProjectsTableAdapter        localAdapter = new ProjectsTableAdapter();
                ProjectDS.ProjectsDataTable theTable     = localAdapter.GetProjectById(projectId);
                if (theTable != null && theTable.Rows.Count > 0)
                {
                    ProjectDS.ProjectsRow theRow = theTable[0];
                    theData = FillRecord(theRow);
                }
            }
            catch (Exception exc)
            {
                log.Error(Resources.Project.MessageErrorLoadAProject + " ID:" + projectId, exc);
                throw new Exception(Resources.Project.MessageErrorLoadAProject);
            }

            return(theData);
        }
コード例 #3
0
        public static List <Project> GetProjectsForAutocomplete(int organizationId, int areaId, string filter)
        {
            string userName = HttpContext.Current.User.Identity.Name;

            List <Project> theList = new List <Project>();
            Project        theData = null;

            try
            {
                ProjectsTableAdapter        localAdapter = new ProjectsTableAdapter();
                ProjectDS.ProjectsDataTable theTable     = localAdapter.GetProjectForAutocomplete(userName, organizationId, areaId, filter);
                if (theTable != null && theTable.Rows.Count > 0)
                {
                    foreach (ProjectDS.ProjectsRow theRow in theTable)
                    {
                        theData = FillRecord(theRow);
                        theList.Add(theData);
                    }
                }
            }
            catch (Exception exc)
            {
                log.Error(Resources.Project.MessageErrorLoadProject + " for autocomplete.", exc);
                throw new Exception(Resources.Project.MessageErrorLoadProject);
            }
            return(theList);
        }
コード例 #4
0
        public static int InsertProject(Project theClass)
        {
            if (theClass.OrganizationID <= 0)
            {
                throw new ArgumentException(Resources.Organization.MessageZeroOrganizationId);
            }

            if (string.IsNullOrEmpty(theClass.Name))
            {
                throw new ArgumentException(Resources.Organization.MessageEmptyNameProject);
            }

            ProjectsTableAdapter localAdapter = new ProjectsTableAdapter();

            int?   projectId = 0;
            string userName  = HttpContext.Current.User.Identity.Name;

            try
            {
                localAdapter.InsertProject(userName, theClass.OrganizationID, theClass.AreaID, theClass.Name, ref projectId);
            }
            catch (Exception exc)
            {
                log.Error(Resources.Project.MessageErrorCreateProject, exc);
                throw new Exception(Resources.Project.MessageErrorCreateProject);
            }

            if ((int)projectId <= 0)
            {
                log.Error(Resources.Project.MessageErrorCreateProject);
                throw new ArgumentException(Resources.Project.MessageErrorCreateProject);
            }

            return((int)projectId);
        }
コード例 #5
0
        public static void UpdateProject(Project theClass)
        {
            if (theClass.ProjectID <= 0)
            {
                throw new ArgumentException(Resources.Organization.MessageZeroProjectId);
            }

            if (theClass.OrganizationID <= 0)
            {
                throw new ArgumentException(Resources.Organization.MessageZeroOrganizationId);
            }

            if (string.IsNullOrEmpty(theClass.Name))
            {
                throw new ArgumentException(Resources.Organization.MessageEmptyNameProject);
            }

            ProjectsTableAdapter localAdapter = new ProjectsTableAdapter();

            try
            {
                localAdapter.UpdateProject(theClass.ProjectID,
                                           theClass.Name,
                                           theClass.OrganizationID,
                                           theClass.AreaID);
            }
            catch (Exception exc)
            {
                log.Error(Resources.Project.MessageErrorUpdateProject, exc);
                throw new Exception(Resources.Project.MessageErrorUpdateProject);
            }
        }
コード例 #6
0
ファイル: Project.cs プロジェクト: LazyBui/Peygir
        protected override void DeletePrivate(Database db)
        {
            ProjectsTableAdapter tableAdapter = db.ProjectsTableAdapter;

            tableAdapter.DeleteByID(ID);

            ID = InvalidID;
        }
コード例 #7
0
ファイル: Project.cs プロジェクト: LazyBui/Peygir
        protected override void AddPrivate(Database db)
        {
            ProjectsTableAdapter tableAdapter = db.ProjectsTableAdapter;

            tableAdapter.Insert(name, description, displayOrder, (int)state);

            // Find ID.
            ID = tableAdapter.Connection.GetInsertedIdentity();
        }
コード例 #8
0
ファイル: Database.cs プロジェクト: AndrewM-/Peygir
        static Database()
        {
            currentnDatabasePath = null;
            isOpen = false;

            projectsTableAdapter = null;
            milestonesTableAdapter = null;
            ticketReportersTableAdapter = null;
            ticketAssigneesTableAdapter = null;
            ticketsTableAdapter = null;
            attachmentsWithoutContentsTableAdapter = null;
            attachmentsTableAdapter = null;
            ticketsHistoryTableAdapter = null;
        }
コード例 #9
0
        public static void DeletePermanently(int projectId)
        {
            ProjectsTableAdapter adapter = new ProjectsTableAdapter();

            try
            {
                adapter.DeletePermanentlyProject(projectId);
            }
            catch (Exception ex)
            {
                log.Error(Resources.Project.MessageErrorDeleteProject, ex);
                throw new Exception(Resources.Project.MessageErrorDeleteProject);
            }
        }
コード例 #10
0
ファイル: ProjectEdit.aspx.cs プロジェクト: gmhawash/SSR
    protected void InsertButton_Click(object sender, EventArgs e)
    {
        DeptsTableAdapter dta = new DeptsTableAdapter();
          DropDownList dept = FormView1.FindControl("Dept") as DropDownList;
          var d = dta.GetDeptByDescription(dept.Text);

          GroupsTableAdapter gta = new GroupsTableAdapter();
          DropDownList group = FormView1.FindControl("Group") as DropDownList;
          var g = gta.GetGroupByName(group.Text);

          ProjectsTableAdapter ta = new ProjectsTableAdapter();
          TextBox tb = FormView1.FindControl("NameTextBox") as TextBox;
          CheckBox cb = FormView1.FindControl("ActiveCheckBox") as CheckBox;
          ta.Insert(Guid.NewGuid(), tb.Text, cb.Checked, d[0].Id, g[0].Id);
          GoBack();
    }
コード例 #11
0
ファイル: Project.cs プロジェクト: LazyBui/Peygir
        public static Project GetProject(IDatabaseProvider db, int id)
        {
            if (db == null)
            {
                throw new ArgumentNullException(nameof(db));
            }
            ProjectsTableAdapter tableAdapter = db.DB.ProjectsTableAdapter;

            PeygirDatabaseDataSet.ProjectsDataTable rows = tableAdapter.GetDataByID(id);

            if (rows.Count == 1)
            {
                // Found.
                Project project = new Project(rows[0]);
                return(project);
            }

            // Not found.
            return(null);
        }
コード例 #12
0
        public static void DeleteProject(int projectId)
        {
            if (projectId <= 0)
            {
                throw new ArgumentException(Resources.Organization.MessageZeroProjectId);
            }

            ProjectsTableAdapter localAdapter = new ProjectsTableAdapter();
            string userName = HttpContext.Current.User.Identity.Name;

            try
            {
                localAdapter.DeleteProject(projectId, userName);
            }
            catch (Exception exc)
            {
                log.Error(Resources.Project.MessageErrorDeleteProject, exc);
                throw new Exception(Resources.Project.MessageErrorDeleteProject);
            }
        }
コード例 #13
0
ファイル: Project.cs プロジェクト: LazyBui/Peygir
        public static Project[] GetProjects(IDatabaseProvider db)
        {
            if (db == null)
            {
                throw new ArgumentNullException(nameof(db));
            }
            ProjectsTableAdapter tableAdapter = db.DB.ProjectsTableAdapter;

            PeygirDatabaseDataSet.ProjectsDataTable rows = tableAdapter.GetData();

            // Create list.
            List <Project> projects = new List <Project>();

            foreach (var row in rows)
            {
                // Add.
                Project project = new Project(row);
                projects.Add(project);
            }

            return(projects.ToArray());
        }
コード例 #14
0
ファイル: Database.cs プロジェクト: AndrewM-/Peygir
        public static void Open(string databasePath)
        {
            if (databasePath == null)
            {
                throw new ArgumentNullException("databasePath");
            }

            // Close.
            if (isOpen)
            {
                Close();
            }

            PeygirDatabaseDataSet.ChangeDatabasePath(databasePath);

            projectsTableAdapter = new ProjectsTableAdapter();
            milestonesTableAdapter = new MilestonesTableAdapter();
            ticketReportersTableAdapter = new TicketReportersTableAdapter();
            ticketAssigneesTableAdapter = new TicketAssigneesTableAdapter();
            ticketsTableAdapter = new TicketsTableAdapter();
            attachmentsWithoutContentsTableAdapter = new AttachmentsWithoutContentsTableAdapter();
            attachmentsTableAdapter = new AttachmentsTableAdapter();
            ticketsHistoryTableAdapter = new TicketsHistoryTableAdapter();

            projectsTableAdapter.Connection.Open();
            milestonesTableAdapter.Connection.Open();
            ticketReportersTableAdapter.Connection.Open();
            ticketAssigneesTableAdapter.Connection.Open();
            ticketsTableAdapter.Connection.Open();
            attachmentsWithoutContentsTableAdapter.Connection.Open();
            attachmentsTableAdapter.Connection.Open();
            ticketsHistoryTableAdapter.Connection.Open();

            currentnDatabasePath = databasePath;
            isOpen = true;

            return;
        }
コード例 #15
0
ファイル: Database.cs プロジェクト: AndrewM-/Peygir
        public static void Close()
        {
            if (!isOpen)
            {
                return;
            }

            projectsTableAdapter.Connection.Close();
            milestonesTableAdapter.Connection.Close();
            ticketReportersTableAdapter.Connection.Close();
            ticketAssigneesTableAdapter.Connection.Close();
            ticketsTableAdapter.Connection.Close();
            attachmentsWithoutContentsTableAdapter.Connection.Close();
            attachmentsTableAdapter.Connection.Close();
            ticketsHistoryTableAdapter.Connection.Close();

            projectsTableAdapter = null;
            milestonesTableAdapter = null;
            ticketReportersTableAdapter = null;
            ticketAssigneesTableAdapter = null;
            ticketsTableAdapter = null;
            attachmentsWithoutContentsTableAdapter = null;
            attachmentsTableAdapter = null;
            ticketsHistoryTableAdapter = null;

            currentnDatabasePath = null;
            isOpen = false;

            return;
        }
コード例 #16
0
ファイル: Project.cs プロジェクト: LazyBui/Peygir
        protected override void UpdatePrivate(Database db)
        {
            ProjectsTableAdapter tableAdapter = db.ProjectsTableAdapter;

            tableAdapter.UpdateByID(name, description, displayOrder, (int)state, ID);
        }
コード例 #17
0
        internal int LogResult(int runExecutionId, int batchId, int scenarioId, int testId, int stepId,
                               string description, int status, string outOfFlow, int projectId, int projectPageId)
        {
            try
            {
                int      result;
                string   batchName       = string.Empty;
                string   scenarioName    = string.Empty;
                string   testName        = string.Empty;
                string   stepName        = string.Empty;
                string   projectName     = string.Empty;
                string   projectPageName = string.Empty;
                DateTime occurred        = DateTime.Now.ToUniversalTime();
                using (var adapterLogresult = new TestResultsTableAdapter())
                {
                    result = adapterLogresult.Insert(runExecutionId, batchId, scenarioId, testId, stepId, description,
                                                     status, outOfFlow, projectId, projectPageId, occurred);
                }

                using (var adapterBatch = new BatchesTableAdapter())
                {
                    if (batchId != 0)
                    {
                        batchName = adapterBatch.GetBatchName(batchId);
                    }
                    else
                    {
                        batchName = Constants.LogNothing;
                    }
                }

                using (var adapterScenario = new ScenarioTableAdapter())
                {
                    if (scenarioId != 0)
                    {
                        scenarioName = adapterScenario.GetScenarioName(scenarioId);
                    }
                    else
                    {
                        scenarioName = Constants.LogNothing;
                    }
                }

                using (var adapterTest = new TestTableAdapter())
                {
                    if (testId != 0)
                    {
                        testName = adapterTest.GetTestName(testId);
                    }
                    else
                    {
                        testName = Constants.LogNothing;
                    }
                }

                using (var adapterGuiMap = new GuiMapTableAdapter())
                {
                    if (stepId != 0)
                    {
                        stepName = adapterGuiMap.GetGuiMapName(stepId).Trim();
                    }
                    else
                    {
                        stepName = Constants.LogNothing;
                    }
                }

                using (var adapterProject = new ProjectsTableAdapter())
                {
                    if (projectId != 0)
                    {
                        projectName = adapterProject.GetProjectName(projectId);
                    }
                    else
                    {
                        projectName = Constants.LogNothing;
                    }
                }

                using (var adapterProjectPage = new GuiProjectPageTableAdapter())
                {
                    if (projectPageId != 0)
                    {
                        projectPageName = adapterProjectPage.GetProjectPageName(projectPageId);
                    }
                    else
                    {
                        projectPageName = Constants.LogNothing;
                    }
                }


                string logString = String.Format("{0}={1}\t{2}={3}\t{4}={5}\t{6}={7}\t{8}={9}\t{10}=( {11} )\t{12}={13}\t{14}={15}",
                                                 Constants.LogExecutionId, runExecutionId,
                                                 Constants.LogBatchName, batchName,
                                                 Constants.LogScenarioName, scenarioName,
                                                 Constants.LogTestName, testName,
                                                 Constants.LogStepName, stepName,
                                                 Constants.LogDescription, description,
                                                 Constants.LogProjectName, projectName,
                                                 Constants.LogProjectPageName, projectPageName);
                if (status == Constants.Passed)
                {
                    Logger.Passed(logString);
                }
                if (status == Constants.Done)
                {
                    Logger.Done(logString);
                }
                if (status == Constants.Failed)
                {
                    Logger.Failed(logString);
                }

                return(result);
            }
            catch (Exception exception)
            {
                Logger.Error(exception.Message, exception);
                return(0);
            }
        }