示例#1
0
 /// <summary>
 /// 更新修改
 /// </summary>
 /// <param name="model"></param>
 public void updateProject(Entities.Project model)
 {
     _sysProjectRepository.DbContext.Entry(model).State = EntityState.Unchanged;
     _sysProjectRepository.DbContext.Entry(model).Property("ProjectCode").IsModified = true;
     _sysProjectRepository.DbContext.Entry(model).Property("Describe").IsModified    = true;
     _sysProjectRepository.DbContext.SaveChanges();
 }
        public IHttpActionResult GetProjectById(int id)
        {
            ProjectBL projectBl = new ProjectBL(_context);

            Entities.Project project = new Entities.Project();
            try
            {
                project = projectBl.GetProjectById(id);
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
            finally
            {
                projectBl = null;
            }
            var formatProject = new
            {
                ProjectId    = project.ProjectId,
                Project_Name = project.Project_Name,
                Priority     = project.Priority,
                Start_Date   = project.Start_Date?.ToString("yyyy-MM-dd"),
                End_Date     = project.End_Date?.ToString("yyyy-MM-dd"),
                UserId       = project.UserId
            };

            return(Ok(formatProject));
        }
示例#3
0
        private static void SeedDatabase(IServiceScope scope)
        {
            var context = scope.ServiceProvider.GetService <ApiContext>();

            var testUser = new User
            {
                UserId = 1,
                Name   = "The OG Freelancer"
            };

            var testProject1 = new Entities.Project
            {
                ProjectId = 1,
                Name      = "Favorite Client",
                Deadline  = DateTime.UtcNow.AddDays(2),
                User      = testUser
            };

            var testProject2 = new Entities.Project
            {
                ProjectId = 2,
                Name      = "Least Favorite Client",
                Deadline  = DateTime.UtcNow.AddDays(1),
                User      = testUser
            };

            context.Users.Add(testUser);
            context.Projects.Add(testProject1);
            context.Projects.Add(testProject2);

            context.SaveChanges();
        }
示例#4
0
        void DoRetrieveResults(Entities.Project project)
        {
            try
            {
                // First call save all command to save project changes
                CommonActionsInstance.getInstance().ExecuteSystemCommand("File.SaveAll", string.Empty);

                // verify that was selected correct project
                System.Threading.ThreadPool.QueueUserWorkItem(delegate(object state)
                {
                    try
                    {
                        Helpers.BindProjectHelper.BindProject(project);
                    }
                    catch (Exception ex)
                    {
                        Logger.Create().Error(ex.ToString());
                    }
                });
            }
            catch (Exception ex)
            {
                Logger.Create().Error(ex.ToString());
            }
        }
示例#5
0
 public ActionStatus Act()
 {
     if (!_isBinded)
     {
         //bind
         if (PerspectiveHelper.LoginToServer() == null)
         {
             return(ActionStatus.Failed);
         }
         Entities.Project project = CommonActionsInstance.getInstance().GetSelectedProject();
         CommonData.ProjectName     = project.ProjectName;
         CommonData.ProjectRootPath = project.RootPath;
         if (!setBindProject(true))
         {
             return(ActionStatus.Failed);
         }
         CommonData.IsProjectBound = true;
         DoRetrieveResults(project);
         CommonData.IsWorkingOffline = false;
         return(ActionStatus.Success);
     }
     else
     {
         //unbind
         if (!setBindProject(false))
         {
             return(ActionStatus.Failed);
         }
         CommonData.IsProjectBound   = false;
         CommonData.IsWorkingOffline = false;
         return(ActionStatus.Success);
     }
 }
示例#6
0
        public CommandStatus GetStatus()
        {
            CommandStatus status = CommandStatus.CommandStatusNull;

            _isBinded = false;
            status    = (CommandStatus)CommandStatus.CommandStatusSupported |
                        CommandStatus.CommandStatusEnabled;
            LoginData login = LoginHelper.LoadSaved();

            Entities.Project selectedProject = CommonActionsInstance.getInstance().GetSelectedProject();
            if (selectedProject == null)
            {
                return(CommandStatus.CommandStatusNull);
            }
            if (login != null && login.BindedProjects != null)
            {
                LoginData.BindProject bindPro = login.BindedProjects.Find(project => project.ProjectName == selectedProject.ProjectName &&
                                                                          project.RootPath == selectedProject.RootPath &&
                                                                          project.IsBound == true);

                if (bindPro != null)
                {
                    _isBinded = true;
                    status    = (CommandStatus)CommandStatus.CommandStatusUnsupported;
                    //bind is unsupported -> unbind is supported
                }
            }
            return(status);
        }
        internal static ProjectScanStatuses BindProject(Entities.Project project)
        {
            Logger.Create().Debug("BindProjectByType in");
            ProjectScanStatuses status = ProjectScanStatuses.CanceledByUser;

            try
            {
                status = LoginAndBindSelectedProject(project);
                if (status == ProjectScanStatuses.Success)
                {
                    ShowResultLogic showResultLogic = new ShowResultLogic();
                    showResultLogic.Act();

                    status = ProjectScanStatuses.Success;
                }
                else if (status == ProjectScanStatuses.CanceledByUser)
                {
                    //Do nothing...
                }
                else
                {
                    TopMostMessageBox.Show("Unable to retrieve results.", "Error", System.Windows.Forms.MessageBoxButtons.OK);
                }

                CommonActionsInstance.getInstance().ClearScanProgressView();

                CommonActionsInstance.getInstance().CloseScanProgressView();
            }
            catch (Exception err)
            {
                Logger.Create().Error(err);
            }
            return(status);
        }
示例#8
0
        public void Should_Map()
        {
            // Arrange
            Entities.Project sourceProject   = FakeProjects.RockingXMas;
            Entities.Project expectedProject = FakeProjects.RockingXMas;
            expectedProject.SetProperty(nameof(Entities.Project.Description), expectedProject.Description + " modified");
            expectedProject.SetProperty(nameof(Entities.Project.Title), expectedProject.Title + " modified");
            var command = new Modify.Command
            {
                Id          = sourceProject.Id,
                Title       = expectedProject.Title,
                ShortTitle  = expectedProject.ShortTitle,
                Description = expectedProject.Description,
                Code        = expectedProject.Code,
                TypeId      = expectedProject.TypeId,
                GenreId     = expectedProject.GenreId,
                StartDate   = expectedProject.StartDate,
                EndDate     = expectedProject.EndDate,
                StateId     = expectedProject.StateId,
                ParentId    = expectedProject.ParentId,
                IsCompleted = expectedProject.IsCompleted,
            };

            // Act
            Entities.Project project = _mapper.Map(command, sourceProject);

            // Assert
            project.Should().BeEquivalentTo(expectedProject, opt => opt.Excluding(dto => dto.Urls));
            project.Urls.Should().BeEquivalentTo(expectedProject.Urls, opt => opt.Excluding(dto => dto.UrlRoles));
        }
        public ActionStatus Act()
        {
            LoginData login = LoginHelper.LoadSaved();

            Entities.Project selectedProject = CommonActionsInstance.getInstance().GetSelectedProject();
            if (selectedProject == null)
            {
                return(ActionStatus.Failed);
            }
            if (login != null && login.BindedProjects != null)
            {
                LoginData.BindProject bindPro = login.BindedProjects.Find(delegate(LoginData.BindProject bp)
                {
                    return(bp.ProjectName == selectedProject.ProjectName && bp.RootPath == selectedProject.RootPath);
                }
                                                                          );

                if (bindPro != null)
                {
                    CommonData.ProjectId      = bindPro.BindedProjectId;
                    CommonData.SelectedScanId = bindPro.SelectedScanId;
                }
            }
            CommonActionsInstance.getInstance().BuildFileMapping();
            ShowSavedResults();
            CommonData.IsWorkingOffline = true;
            return(ActionStatus.Success);
        }
示例#10
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="project"></param>
 /// <returns></returns>
 public bool UpdateProject(Entities.Project project)
 {
     if (_connector.GetProjectById(project.Id) != null)
     {
         _connector.UpdateProject(ConvertToDataProject(project));
         return(true);
     }
     return(false);
 }
示例#11
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="project"></param>
 /// <returns></returns>
 public bool AddProject(Entities.Project project)
 {
     if (!_connector.GetAllProjects().Any(p => p.Name == project.Name))
     {
         _connector.AddProject(ConvertToDataProject(project));
         return(true);
     }
     return(false);
 }
示例#12
0
        public IActionResult Get(int id)
        {
            Entities.Project project = _dataRepository.Get(id);

            if (project == null)
            {
                return(NotFound("The Project record couldn't be found."));
            }

            return(Ok(project));
        }
示例#13
0
        public IActionResult Delete(int id)
        {
            Entities.Project project = _dataRepository.Get(id);

            if (project == null)
            {
                return(NotFound("The Employee record couldn't be found."));
            }

            _dataRepository.Delete(project);

            return(Ok());
        }
示例#14
0
 public Project ConvertToDataProject(Entities.Project project)
 {
     return
         (new Project
     {
         ID = project.Id,
         Name = project.Name,
         StartDate = project.IsDateEnabled ? project.StartDate : (DateTime?)null,
         EndDate = project.IsDateEnabled ? project.EndDate : (DateTime?)null,
         IsSuspended = project.IsSuspended,
         Priority = project.Priority,
         ManagerID = project.Manager.Id
     });
 }
示例#15
0
        public IActionResult Post([FromBody] Entities.Project project)
        {
            if (project == null)
            {
                return(BadRequest("Project is null."));
            }

            _dataRepository.Add(project);

            return(CreatedAtRoute(
                       "Get",
                       new { project.Id },
                       project));
        }
        public void UpdateProject(Entities.Project project)
        {
            var projectModel = _context.Projects.Where(x => x.ProjectId == project.ProjectId).SingleOrDefault();

            if (projectModel != null)
            {
                projectModel.Project_Name = project.Project_Name;
                projectModel.Priority     = project.Priority;
                projectModel.Start_Date   = project.Start_Date;
                projectModel.End_Date     = project.End_Date;
                //_context.Entry(projectModel).State = System.Data.Entity.EntityState.Modified;
                _context.MarkAsModified(projectModel);
                _context.SaveChanges();
            }
        }
示例#17
0
 /// <summary>
 /// Create project handler.
 /// </summary>
 /// <param name="command">Command.</param>
 /// <param name="uowFactory">Application unit of work factory.</param>
 public void HandleCreateProject(CreateProjectCommand command, IAppUnitOfWorkFactory uowFactory)
 {
     using (var uow = uowFactory.Create())
     {
         var project = new Entities.Project()
         {
             Name  = command.Name,
             Color = command.Color,
             User  = uow.UserRepository.Get(command.CreatedByUserId),
         };
         uow.ProjectRepository.Add(project);
         uow.SaveChanges();
         command.ProjectId = project.Id;
     }
 }
示例#18
0
        private void DoScan(Entities.Project project)
        {
            try
            {
                if (!LoginHelper.IsScanner)
                {
                    TopMostMessageBox.Show("User is not allowed to scan", "Error");
                    return;
                }

                // verify that was selected correct project
                if (!string.IsNullOrEmpty(project.RootPath))
                {
                    System.Threading.ThreadPool.QueueUserWorkItem(delegate(object state)
                    {
                        try
                        {
                            CxViewerAction.CxVSWebService.CxWSQueryVulnerabilityData[] scanData = null;
                            long scanId = 0;

                            ProjectScanStatuses status = _scanHelper.DoScan(project, IsIncremental, ref scanData, ref scanId);

                            if (status == ProjectScanStatuses.Success)
                            {
                                LoginData login = LoginHelper.LoadSaved();
                                PerspectiveHelper.ShowStored(scanData, login, scanId);
                                CommonActionsInstance.getInstance().ShowReportView();
                            }

                            CommonActionsInstance.getInstance().ClearScanProgressView();
                            CommonActionsInstance.getInstance().CloseScanProgressView();
                        }
                        catch (Exception err)
                        {
                            Logger.Create().Error(err);
                            LoginHelper.DoLogout();
                        }
                    });
                }
            }
            catch (Exception ex)
            {
                TopMostMessageBox.Show(ex.Message, "Error");
                Logger.Create().Error(ex.ToString());
            }
        }
示例#19
0
        public IActionResult Put(int id, [FromBody] Entities.Project project)
        {
            if (project == null)
            {
                return(BadRequest("Project is null."));
            }

            Entities.Project projectToUpdate = _dataRepository.Get(id);

            if (projectToUpdate == null)
            {
                return(NotFound("The Project record couldn't be found."));
            }

            _dataRepository.Update(projectToUpdate, project);
            return(Ok());
        }
示例#20
0
 public EditProjectViewModel(Entities.Project project)
 {
     Id                    = project.Id;
     ClientId              = project.ClientId;
     Title                 = project.Title;
     Description           = project.Description;
     StartDate             = project.StartDate;
     EndDate               = project.EndDate;
     Status                = project.Status.Value;
     Billing               = project.Billing;
     ExpectedBillingAmount = project.ExpectedBillingAmount;
     Rate                  = project.Rate;
     ParentId              = project.ParentId;
     IsPublic              = project.IsPublic;
     InheritMembers        = project.InheritMembers;
     IsClosed              = project.IsClosed;
     CreatedOn             = project.CreatedOn;
 }
        public IHttpActionResult AddProject(Entities.Project project)
        {
            ProjectBL projectBl = new ProjectBL(_context);

            try
            {
                projectBl.AddProject(project);
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
            finally
            {
                projectBl = null;
            }
            return(Ok());
        }
示例#22
0
        static ProjectScanStatuses LoginAndBindSelectedProject(Entities.Project project)
        {
            OidcLoginData oidcLoginData = OidcLoginData.GetOidcLoginDataInstance();
            LoginData     loginData     = LoginHelper.LoadSaved();
            LoginResult   loginResult   = new LoginResult();
            bool          cancelPressed = false;

            if (oidcLoginData.AccessToken == null)
            {
                //Execute login
                loginResult = LoginHelper.DoLoginWithoutForm(out cancelPressed, false);
                if (!loginResult.IsSuccesfull)
                {
                    loginResult = LoginHelper.DoLogin(out cancelPressed);
                }
            }
            else
            {
                loginResult.AuthenticationData = loginData;
                loginResult.IsSuccesfull       = true;
            }

            if (loginResult.IsSuccesfull)
            {
                _canceled = false;
                BindSelectedProject(loginResult, project);
                if (!_canceled)
                {
                    return(ProjectScanStatuses.Success);
                }
                else
                {
                    return(ProjectScanStatuses.CanceledByUser);
                }
            }
            else if (!cancelPressed)
            {
                TopMostMessageBox.Show("Unable to connect to server.", "Log in problem");
                return(ProjectScanStatuses.Error);
            }

            return(ProjectScanStatuses.CanceledByUser);
        }
示例#23
0
        private bool setBindProject(bool isBound)
        {
            LoginData login = LoginHelper.LoadSaved();

            Entities.Project selectedProject = CommonActionsInstance.getInstance().GetSelectedProject();
            if (selectedProject == null)
            {
                return(false);
            }
            foreach (LoginData.BindProject project in login.BindedProjects)
            {
                if (selectedProject.RootPath == project.RootPath && selectedProject.ProjectName == project.ProjectName)
                {
                    project.IsBound = isBound;
                }
            }
            LoginHelper.Save(login);
            return(true);
        }
        public void TestGetProjectByIdService()
        {
            bool actualResult   = false;
            bool expectedResult = true;

            Entities.Project actualTask = new Entities.Project();
            //Entities.Task expectedTask = new Entities.Task();

            var controller   = new ProjectController();
            var actionResult = controller.GetAllProjects() as OkNegotiatedContentResult <List <Project> >;

            actualTask = actionResult.Content.FirstOrDefault();
            var expectedTask = controller.GetProject(actualTask.Project_ID.ToString()) as OkNegotiatedContentResult <Task>;

            if (actualTask.Project_ID.Equals(expectedTask.Content.Project_ID))
            {
                actualResult = true;
            }
            Assert.AreEqual(actualResult, expectedResult);
        }
示例#25
0
        public ActionStatus Act()
        {
            if (PerspectiveHelper.LoginToServer() == null)
            {
                return(ActionStatus.Failed);
            }
            LoginData login = LoginHelper.LoadSaved();

            Entities.Project selectedProject = CommonActionsInstance.getInstance().GetSelectedProject();
            if (selectedProject == null)
            {
                return(ActionStatus.Failed);
            }
            CommonData.ProjectName     = selectedProject.ProjectName;
            CommonData.ProjectRootPath = selectedProject.RootPath;
            if (login != null && login.BindedProjects != null)
            {
                LoginData.BindProject bindPro = login.BindedProjects.Find(delegate(LoginData.BindProject bp)
                {
                    return(bp.ProjectName == selectedProject.ProjectName && bp.RootPath == selectedProject.RootPath);
                }
                                                                          );

                if (bindPro != null)
                {
                    CommonData.ProjectId       = bindPro.BindedProjectId;
                    CommonData.SelectedScanId  = bindPro.SelectedScanId;
                    CommonData.IsProjectBound  = bindPro.IsBound;
                    CommonData.IsProjectPublic = bindPro.IsPublic;
                }
                else
                {
                    CommonData.IsProjectBound = false;
                }
            }
            CommonActionsInstance.getInstance().BuildFileMapping();
            CommonActionsInstance.getInstance().ExecuteSystemCommand("File.SaveAll", string.Empty);
            DoScan(selectedProject);
            CommonData.IsWorkingOffline = false;
            return(ActionStatus.Success);
        }
        public void TestDeleteProjectService()
        {
            bool actualResult   = false;
            bool expectedResult = true;

            Entities.Project itemToDelete = new Entities.Project();

            var controller   = new ProjectController();
            var actionResult = controller.GetAllProjects() as OkNegotiatedContentResult <List <Project> >;

            itemToDelete = actionResult.Content.FirstOrDefault();

            controller.DeleteProject(itemToDelete.Project_ID);

            var deletedItem = controller.GetProject(itemToDelete.Project_ID.ToString()) as OkNegotiatedContentResult <Project>;

            if (deletedItem == null)
            {
                actualResult = true;
            }
            Assert.AreEqual(actualResult, expectedResult);
        }
示例#27
0
        public ActionStatus Act()
        {
            if (PerspectiveHelper.LoginToServer() == null)
            {
                return(ActionStatus.Failed);
            }
            LoginData login = LoginHelper.LoadSaved();

            Entities.Project selectedProject = CommonActionsInstance.getInstance().GetSelectedProject();
            if (selectedProject == null)
            {
                return(ActionStatus.Failed);
            }
            LoginData.BindProject bindPro = null;
            if (login != null && login.BindedProjects != null)
            {
                bindPro = login.BindedProjects.Find(delegate(LoginData.BindProject bp)
                {
                    return(bp.ProjectName == selectedProject.ProjectName && bp.RootPath == selectedProject.RootPath && bp.IsBound == true);
                }
                                                    );

                if (bindPro != null)
                {
                    CommonData.ProjectId       = bindPro.BindedProjectId;
                    CommonData.ProjectName     = selectedProject.ProjectName;
                    CommonData.ProjectRootPath = selectedProject.RootPath;
                }
                else
                {
                    return(ActionStatus.Failed);
                }
            }

            RetrieveResultsFromServer(bindPro, login);

            return(ActionStatus.Success);
        }
        public CommandStatus GetStatus()
        {
            LoginData login = LoginHelper.LoadSaved();

            Entities.Project selectedProject = CommonActionsInstance.getInstance().GetSelectedProject();
            if (selectedProject == null)
            {
                return(CommandStatus.CommandStatusNull);
            }
            if (login != null && login.BindedProjects != null)
            {
                LoginData.BindProject bindPro = login.BindedProjects.Find(delegate(LoginData.BindProject bp)
                {
                    return(bp.ProjectName == selectedProject.ProjectName && bp.RootPath == selectedProject.RootPath);
                });
                if (bindPro != null)
                {
                    return((CommandStatus)CommandStatus.CommandStatusSupported |
                           CommandStatus.CommandStatusEnabled);
                }
            }
            return((CommandStatus)CommandStatus.CommandStatusSupported);
        }
示例#29
0
        public async Task <GenericCommandResult> Handle(CreateProjectCommand command, CancellationToken cancellationToken)
        {
            command.Validate();
            if (command.Invalid)
            {
                return(new GenericCommandResult(false, "Ocorreu um erro", command.Notifications));
            }

            var course = _courseRepository.GetById(new Guid(command.CourseId));

            if (course == null)
            {
                return(new GenericCommandResult(false, "Curso não cadastrado", command.CourseId));
            }

            var project = new Entities.Project(command.Name, command.Image, command.Why, command.What, command.WhatWillWeDo, command.ProjectStatus);

            course.AddProject(project);

            _projectRepository.Create(project);
            _courseRepository.Update(course);

            return(new GenericCommandResult(true, "Projeto cadastrado com sucesso", (DTOs.Project)project));
        }
示例#30
0
        static void BindSelectedProject(LoginResult loginResult, Entities.Project project)
        {
            CxWSResponseProjectsDisplayData cxWSResponseProjectsDisplayData = null;
            // show bind project form
            CxWebServiceClient client = null;
            bool isThrewError         = false;
            BackgroundWorkerHelper bg = new BackgroundWorkerHelper(delegate
            {
                try
                {
                    client = new CxWebServiceClient(loginResult.AuthenticationData);
                }
                catch (Exception e)
                {
                    Logger.Create().Error(e.ToString());
                    System.Windows.Forms.MessageBox.Show(e.Message, "Error", System.Windows.Forms.MessageBoxButtons.OK);
                    isThrewError = true;
                    return;
                }

                if (client == null)
                {
                    System.Windows.Forms.MessageBox.Show("Cannot connect to server", "Error", System.Windows.Forms.MessageBoxButtons.OK);
                    isThrewError = true;
                    return;
                }
                cxWSResponseProjectsDisplayData = client.ServiceClient.GetProjectsDisplayData(loginResult.SessionId);
            }, loginResult.AuthenticationData.ReconnectInterval * 1000, loginResult.AuthenticationData.ReconnectCount);

            //Show wait dialog and perform server request in different thread to safe UI responsibility
            if (!bg.DoWork(RETRIEVE_RESULTS_LOADING_TEXT))
            {
                return;
            }

            if (cxWSResponseProjectsDisplayData == null || !cxWSResponseProjectsDisplayData.IsSuccesfull || isThrewError)
            {
                return;
            }

            var bindProjectEntity = new BindProjectEntity {
                CxProjectsDisplayData = cxWSResponseProjectsDisplayData
            };

            #region show Select Project window

            //            if (projectID < 0)
            //            {
            if (_dispatcher == null)
            {
                _dispatcher = ServiceLocators.ServiceLocator.GetDispatcher();
            }

            if (_dispatcher != null)
            {
                _dispatcher.Dispatch(bindProjectEntity);
            }


            if (bindProjectEntity.CommandResult == System.Windows.Forms.DialogResult.Cancel)
            {
                _canceled = true;
                return;
            }
            //            }

            #endregion

            long selectedProjectId = 0;
            if (client != null && ((bindProjectEntity.SelectedProject != null && bindProjectEntity.CommandResult == System.Windows.Forms.DialogResult.OK)))
            {
                Logger.Create().Info("Loading project id: " + bindProjectEntity.SelectedProject.projectID);
                bg.DoWorkFunc = delegate(object obj)
                {
                    selectedProjectId = bindProjectEntity.SelectedProject.projectID;
                    if (loginResult.AuthenticationData.BindedProjects == null)
                    {
                        loginResult.AuthenticationData.BindedProjects = new List <LoginData.BindProject>();
                    }

                    LoginData.BindProject bindProject = loginResult.AuthenticationData.BindedProjects.Find(delegate(LoginData.BindProject bp)
                    {
                        return(bp.ProjectName == project.ProjectName && bp.RootPath == project.RootPath);
                    }
                                                                                                           );
                    bool isNewProject = true;
                    if (bindProject != null)
                    {
                        bindProject.BindedProjectId = selectedProjectId;
                        bindProject.ScanReports     = new List <ScanReportInfo>();
                        bindProject.IsBound         = true;
                        bindProject.SelectedScanId  = 0;
                        bindProject.IsPublic        = bindProjectEntity.isPublic;
                        isNewProject = false;
                    }
                    else
                    {
                        bindProject = new LoginData.BindProject()
                        {
                            BindedProjectId = selectedProjectId,
                            RootPath        = project.RootPath,
                            ProjectName     = project.ProjectName,
                            ScanReports     = new List <ScanReportInfo>(),
                            IsPublic        = bindProjectEntity.isPublic,
                            IsBound         = true,
                        };
                        isNewProject = true;
                    }


                    CxWSResponseScansDisplayData cxWSResponseScansDisplayData = PerspectiveHelper.GetScansDisplayData(selectedProjectId);
                    if (cxWSResponseScansDisplayData.ScanList.Length == 0)
                    {
                        // show error about 0 scan list
                        System.Windows.Forms.MessageBox.Show("The chosen project doesn't contain scans", "Error", System.Windows.Forms.MessageBoxButtons.OK);
                        isThrewError = true;
                        return;
                    }

                    foreach (ScanDisplayData item in cxWSResponseScansDisplayData.ScanList)
                    {
                        // Add relation to scanned project and scan report
                        ScanReportInfo scanReportInfo = new ScanReportInfo {
                            Id = item.ScanID
                        };
                        string minutes = item.QueuedDateTime.Minute.ToString().Length > 1 ? item.QueuedDateTime.Minute.ToString() : "0" + item.QueuedDateTime.Minute;

                        scanReportInfo.Name = string.Format("{0}/{1}/{2} {3}:{4}", item.QueuedDateTime.Month,
                                                            item.QueuedDateTime.Day,
                                                            item.QueuedDateTime.Year,
                                                            item.QueuedDateTime.Hour,
                                                            minutes);

                        bindProject.AddScanReport(scanReportInfo);
                    }

                    if (bindProject.ScanReports.Count > 0)
                    {
                        CommonData.SelectedScanId  = bindProject.ScanReports[0].Id;
                        bindProject.SelectedScanId = CommonData.SelectedScanId;
                    }

                    if (isNewProject)
                    {
                        loginResult.AuthenticationData.BindedProjects.Add(bindProject);
                    }
                };
                bool bCancel = !bg.DoWork("Downloading project data...");

                if (!bCancel && !isThrewError)
                {
                    CommonData.ProjectId = selectedProjectId;
                    LoginHelper.Save(loginResult.AuthenticationData);
                }
            }
        }
 private string CreateProject(ProjectBE project)
 {
     var bo = new ProjectBO();
     int res = bo.AddProject(project);
     return Utils.ConvertToJsonString(res);
 }