private void DeleteButtonClicked(object sender, RoutedEventArgs routedEventArgs)
        {
            ResponsibleProject responsibleProject = ((ResponsibleProject)ListViewResponsibleProject.SelectedItem);

            try
            {
                ProfessionalPracticesContext professionalPracticesContext = new ProfessionalPracticesContext();
                UnitOfWork unitOfWork = new UnitOfWork(professionalPracticesContext);
                bool       responsibleProjectIsAssigned = unitOfWork.ResponsibleProjects.ResponsibleProjectIsAssigned(responsibleProject.IdResponsibleProject);
                if (responsibleProjectIsAssigned)
                {
                    MessageBox.Show("El responsable del proyecto está asignado, no se puede eliminar", "Eliminar", MessageBoxButton.OK, MessageBoxImage.Warning);
                }
                else
                {
                    ResponsibleProjectDeletion deleteResponsibleProject = new ResponsibleProjectDeletion();
                    deleteResponsibleProject.InitializeDataResponsibleProject(responsibleProject);
                    deleteResponsibleProject.Show();
                    Close();
                }
            }
            catch (EntityException)
            {
                MessageBox.Show("No se pudo obtener información de la base de datos. Intente más tarde", "Consulta Fallida", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
示例#2
0
        private void SaveButtonClicked(object sender, RoutedEventArgs routedEventArgs)
        {
            ResponsibleProject responsibleProjectObtein = ((ResponsibleProject)ListViewResponsibleProject.SelectedItem);

            responsibleProject = responsibleProjectObtein;
            Close();
        }
示例#3
0
        public void DetermineIfResponsibleProjectAlreadyExistsNotSameID_Exists()
        {
            ResponsibleProject responsibleProjectWithSameEmailAddress = _unitOfWork.ResponsibleProjects.FindFirstOccurence(ResponsibleProject => ResponsibleProject.EmailAddress == "*****@*****.**" &&
                                                                                                                           ResponsibleProject.IdResponsibleProject == 1);

            Assert.IsNull(responsibleProjectWithSameEmailAddress);
        }
        private void DeleteButtonClicked(object sender, RoutedEventArgs routedEventArgs)
        {
            MessageBoxResult messageBoxResult = MessageBox.Show("¿Seguro desea eliminar el responsable del proyecto?", "Confirmación", MessageBoxButton.YesNo, MessageBoxImage.Question);

            if (messageBoxResult == MessageBoxResult.Yes)
            {
                try
                {
                    ProfessionalPracticesContext professionalPracticesContext = new ProfessionalPracticesContext();
                    UnitOfWork         unitOfWork         = new UnitOfWork(professionalPracticesContext);
                    ResponsibleProject responsibleCurrent = unitOfWork.ResponsibleProjects.Get(responsibleProject.IdResponsibleProject);
                    responsibleCurrent.ResponsibleProjectStatus = ResponsibleProjectStatus.INACTIVE;
                    int rowsAffected = unitOfWork.Complete();
                    unitOfWork.Dispose();
                    if (rowsAffected == 1)
                    {
                        MessageBox.Show("El Responsable del proyecto se eliminó exitosamente", "Elimiación Exitosa", MessageBoxButton.OK, MessageBoxImage.Information);
                    }
                    else
                    {
                        MessageBox.Show("El responsable del proyecto no pudo eliminarse", "Eliminación Fallida", MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                }
                catch (EntityException)
                {
                    MessageBox.Show("El responsable del proyecto no pudo eliminarse", "Eliminación Fallida", MessageBoxButton.OK, MessageBoxImage.Error);
                }
                ResponsibleProjectConsult listResponsibleProject = new ResponsibleProjectConsult();
                listResponsibleProject.Show();
                Close();
            }
        }
示例#5
0
        public void SoftDeleteResponsibleProject_Exists()
        {
            List <ResponsibleProject>    responsiblesProject = new List <ResponsibleProject>();
            DbSet <ResponsibleProject>   mockSet             = DbContextMock.GetQueryableMockDbSet(responsiblesProject, r => r.EmailAddress);
            ProfessionalPracticesContext mockContext         = DbContextMock.GetContext(mockSet);
            UnitOfWork         unitOfWork         = DbContextMock.GetUnitOfWork(mockContext);
            ResponsibleProject responsibleProject = new ResponsibleProject
            {
                IdResponsibleProject = 1,
                Name         = "Gustavo Antonio",
                LastName     = "Ruiz Zapata",
                EmailAddress = "*****@*****.**",
                Charge       = "Jefe de departamento de Tecnología Educativa"
            };

            responsiblesProject.Add(responsibleProject);
            ResponsibleProject responsobleProjectCurrent = unitOfWork.ResponsibleProjects.Get(responsibleProject.IdResponsibleProject);

            if (responsobleProjectCurrent != null)
            {
                responsobleProjectCurrent.ResponsibleProjectStatus = ResponsibleProjectStatus.INACTIVE;
            }
            responsiblesProject.Remove(responsibleProject);
            int expected = 0;
            int actual   = responsiblesProject.Count;

            Assert.AreEqual(expected, actual);
        }
 public void InitializeDataResponsibleProject(ResponsibleProject responsibleProjectReceived)
 {
     LabelName.Content     = responsibleProjectReceived.Name;
     LabelLastName.Content = responsibleProjectReceived.LastName;
     LabelEmail.Content    = responsibleProjectReceived.EmailAddress;
     LabelCharge.Content   = responsibleProjectReceived.Charge;
     responsibleProject    = responsibleProjectReceived;
 }
示例#7
0
        private void ResponsibleProjectListViewSelectionChanged(object sender, SelectionChangedEventArgs selectionChanged)
        {
            ResponsibleProject responsible = ((ResponsibleProject)ListViewResponsibleProject.SelectedItem);

            if (responsible != null)
            {
                ButtonSave.IsEnabled = true;
            }
        }
        private void ModifyButtonClicked(object sender, RoutedEventArgs routedEventArgs)
        {
            ResponsibleProject             responsibleProject       = ((ResponsibleProject)ListViewResponsibleProject.SelectedItem);
            ResponsibleProjectModification modifyResponsibleProject = new ResponsibleProjectModification();

            modifyResponsibleProject.InitializeDataResponsibleProject(responsibleProject);
            modifyResponsibleProject.Show();
            Close();
        }
示例#9
0
        private void ChooseResponsibleProjectButtonClicked(object sender, RoutedEventArgs routedEventArgs)
        {
            ResponsibleProjectChoose chooseResponsibleProject = new ResponsibleProjectChoose();

            chooseResponsibleProject.ShowDialog();
            _responsibleProject = ResponsibleProjectChoose.ObteinResponsibleProject();
            if (!object.ReferenceEquals(null, _responsibleProject))
            {
                TextBoxResponsibleProject.Text = _responsibleProject.Name + " " + _responsibleProject.LastName;
            }
        }
示例#10
0
        private bool ResponsibleProjectIsAlreadyRegistered()
        {
            ProfessionalPracticesContext professionalPracticesContext = new ProfessionalPracticesContext();
            UnitOfWork         unitOfWork = new UnitOfWork(professionalPracticesContext);
            ResponsibleProject responsibleProjectWithSameEmailAddress = unitOfWork.ResponsibleProjects.FindFirstOccurence(ResponsibleProject => ResponsibleProject.EmailAddress == responsibleProject.EmailAddress && ResponsibleProject.IdResponsibleProject != responsibleProject.IdResponsibleProject);

            if (!object.ReferenceEquals(null, responsibleProjectWithSameEmailAddress))
            {
                return(true);
            }
            return(false);
        }
示例#11
0
        private bool ActiveResponsibleProject()
        {
            ProfessionalPracticesContext professionalPracticesContext = new ProfessionalPracticesContext();
            UnitOfWork         unitOfWork         = new UnitOfWork(professionalPracticesContext);
            ResponsibleProject responsibleCurrent = unitOfWork.ResponsibleProjects.Get(responsibleProject.IdResponsibleProject);

            responsibleCurrent.ResponsibleProjectStatus = ResponsibleProjectStatus.ACTIVE;
            int rowsAffected = unitOfWork.Complete();

            unitOfWork.Dispose();
            return(rowsAffected == 1);
        }
示例#12
0
 public void InitializeDataResponsibleProject(ResponsibleProject responsibleProjectReceived)
 {
     TextBoxName.Text     = responsibleProjectReceived.Name;
     TextBoxLastName.Text = responsibleProjectReceived.LastName;
     TextBoxEmail.Text    = responsibleProjectReceived.EmailAddress;
     TextBoxCharge.Text   = responsibleProjectReceived.Charge;
     responsibleProject   = responsibleProjectReceived;
     if (responsibleProjectReceived.ResponsibleProjectStatus == ResponsibleProjectStatus.ACTIVE)
     {
         LabelStatus.Visibility  = Visibility.Hidden;
         ButtonActive.Visibility = Visibility.Hidden;
     }
 }
示例#13
0
        private void ChooseResponsibleProjectButtonClicked(object sender, RoutedEventArgs routedEventArgs)
        {
            ResponsibleProjectChoose chooseResponsibleProject = new ResponsibleProjectChoose();

            chooseResponsibleProject.ShowDialog();
            ResponsibleProject responsibleProjectReceived = ResponsibleProjectChoose.ObteinResponsibleProject();

            if (responsibleProjectReceived != null)
            {
                TextBoxResponsibleProject.Text           = responsibleProjectReceived.Name + " " + responsibleProjectReceived.LastName;
                _responsibleProject.IdResponsibleProject = responsibleProjectReceived.IdResponsibleProject;
            }
        }
        public void ValidateResponsibleProjectData_Error_InvalidEmail(string email)
        {
            ResponsibleProject responsibleProject = new ResponsibleProject
            {
                Name         = "Gustavo Antonio",
                LastName     = "Ruiz Zapata",
                EmailAddress = email,
                Charge       = "Jefe de departamento de Tecnología Educativa"
            };

            var result = _responsibleValidator.TestValidate(responsibleProject);

            result.ShouldHaveValidationErrorFor(validatedResponsibleProject => validatedResponsibleProject.EmailAddress);
        }
        public void ValidateResponsibleProjectData_Error_InvalidLastName(string lastName)
        {
            ResponsibleProject responsibleProject = new ResponsibleProject
            {
                Name         = "Gustavo Antonio",
                LastName     = lastName,
                EmailAddress = "*****@*****.**",
                Charge       = "Jefe de departamento de Tecnología Educativa"
            };

            var result = _responsibleValidator.TestValidate(responsibleProject);

            result.ShouldHaveValidationErrorFor(validatedResponsibleProject => validatedResponsibleProject.LastName);
        }
        public void ValidateResponsibleProjectData_Success()
        {
            ResponsibleProject responsibleProject = new ResponsibleProject
            {
                Name         = "Gustavo Antonio",
                LastName     = "Ruiz Zapata",
                EmailAddress = "*****@*****.**",
                Charge       = "Jefe de departamento de Tecnología Educativa"
            };

            var result = _responsibleValidator.TestValidate(responsibleProject);

            result.ShouldNotHaveAnyValidationErrors();
        }
        public void ValidateResponsibleProjectData_Error_InvalidCharge(string charge)
        {
            ResponsibleProject responsibleProject = new ResponsibleProject
            {
                Name         = "Gustavo Antonio",
                LastName     = "Ruiz Zapata",
                EmailAddress = "*****@*****.**",
                Charge       = charge
            };

            var result = _responsibleValidator.TestValidate(responsibleProject);

            result.ShouldHaveValidationErrorFor(validatedResponsibleProject => validatedResponsibleProject.Charge);
        }
示例#18
0
        private bool UpdatenewResponsibleProject()
        {
            ProfessionalPracticesContext professionalPracticesContext = new ProfessionalPracticesContext();
            UnitOfWork         unitOfWork         = new UnitOfWork(professionalPracticesContext);
            ResponsibleProject responsibleCurrent = unitOfWork.ResponsibleProjects.Get(responsibleProject.IdResponsibleProject);

            responsibleCurrent.Name         = responsibleProject.Name;
            responsibleCurrent.LastName     = responsibleProject.LastName;
            responsibleCurrent.EmailAddress = responsibleProject.EmailAddress;
            responsibleCurrent.Charge       = responsibleProject.Charge;
            int rowsAffected = unitOfWork.Complete();

            unitOfWork.Dispose();
            return(rowsAffected == 1);
        }
        private void ResponsibleProjectListViewSelectionChanged(object sender, SelectionChangedEventArgs selectionChanged)
        {
            ResponsibleProject responsible = ((ResponsibleProject)ListViewResponsibleProject.SelectedItem);

            if (responsible != null)
            {
                ButtonModify.IsEnabled = true;
                if (responsible.ResponsibleProjectStatus == ResponsibleProjectStatus.ACTIVE)
                {
                    ButtonDelete.IsEnabled = true;
                }
                else
                {
                    ButtonDelete.IsEnabled = false;
                }
            }
        }
示例#20
0
        public void MapData(Project project, Practicioner practicioner, Assignment assignment, Coordinator coordinator)
        {
            ResponsibleProject responsibleProject = project.ResponsibleProject;
            LinkedOrganization linkedOrganization = project.LinkedOrganization;

            OfficeNumber              = $"{assignment.IdAssignment}/{DateTime.Now.Year}";
            DateOfGeneration          = DateTime.Now;
            ResponsibleProjectName    = $"{responsibleProject.Name} {responsibleProject.LastName}";
            ResponsibleProjectCharge  = responsibleProject.Charge;
            LinkedOrganizationName    = linkedOrganization.Name;
            LinkedOrganizationAddress = linkedOrganization.Address;
            City                   = linkedOrganization.City.NameCity;
            State                  = linkedOrganization.State.NameState;
            PracticionerName       = $"{practicioner.User.Name} {practicioner.User.LastName}";
            PracticionerEnrollment = practicioner.Enrollment;
            ProjectName            = project.NameProject;
            ProjectDuration        = project.Duration;
            CoordinatorName        = coordinator.User.Name;
        }
示例#21
0
        public void RegisterResponsibleProject_Exists()
        {
            List <ResponsibleProject>    responsiblesProject = new List <ResponsibleProject>();
            DbSet <ResponsibleProject>   mockSet             = DbContextMock.GetQueryableMockDbSet(responsiblesProject, r => r.EmailAddress);
            ProfessionalPracticesContext mockContext         = DbContextMock.GetContext(mockSet);
            UnitOfWork         unitOfWork            = DbContextMock.GetUnitOfWork(mockContext);
            ResponsibleProject newResponsibleProject = new ResponsibleProject
            {
                Name         = "Gustavo Antonio",
                LastName     = "Ruiz Zapata",
                EmailAddress = "*****@*****.**",
                Charge       = "Jefe de departamento de Tecnología Educativa"
            };

            unitOfWork.ResponsibleProjects.Add(newResponsibleProject);
            int expected = 1;
            int actual   = responsiblesProject.Count;

            Assert.AreEqual(expected, actual);
        }
示例#22
0
 private void ObteinProject()
 {
     TextBoxName.Text = _project.NameProject;
     TextBoxDescriptionGeneral.Text = _project.Description;
     TextBoxObjectiveGeneral.Text   = _project.ObjectiveGeneral;
     TextBoxObjectiveImmediate.Text = _project.ObjectiveImmediate;
     TextBoxObjectiveMediate.Text   = _project.ObjectiveMediate;
     TextBoxMethodology.Text        = _project.Methodology;
     TextBoxResources.Text          = _project.Resources;
     TextBoxActivities.Text         = _project.Activities;
     TextBoxResponsibilities.Text   = _project.Responsibilities;
     TextBoxQuantityPracticing.Text = _project.QuantityPracticing.ToString();
     LabelTerm.Content                        = _project.Term;
     TextBoxDaysHours.Text                    = _project.DaysHours;
     TextBoxLinkedOrganization.Text           = _project.LinkedOrganization.Name;
     _responsibleProject                      = new ResponsibleProject();
     _responsibleProject.IdResponsibleProject = _project.IdResponsibleProject;
     _linkedOrganization                      = new LinkedOrganization();
     _linkedOrganization.IdLinkedOrganization = _project.IdLinkedOrganization;
     TextBoxResponsibleProject.Text           = _project.ResponsibleProject.Name + " " + _project.ResponsibleProject.LastName;
 }
示例#23
0
 private void RegisterButtonClicked(object sender, RoutedEventArgs routedEventArgs)
 {
     responsibleProject = new ResponsibleProject();
     CreateResponsibleProjectFromInputData();
     if (ValidateDataResponsibleProject())
     {
         try
         {
             if (ResponsibleProjectIsAlreadyRegistered())
             {
                 MessageBox.Show("Existe un responsable del proyecto con el mismo correo electrónico registrado", "Dato Repetido", MessageBoxButton.OK, MessageBoxImage.Warning);
             }
             else
             {
                 if (RegisternewResponsibleProject())
                 {
                     MessageBox.Show("El responsable del proyecto se registró exitosamente", "Registro Exitoso", MessageBoxButton.OK, MessageBoxImage.Information);
                 }
                 else
                 {
                     MessageBox.Show("El responsable del proyecto no pudo registrarse. Intente más tarde", "Registro Fallido", MessageBoxButton.OK, MessageBoxImage.Error);
                 }
                 CoordinatorMenu coordinatorMenu = new CoordinatorMenu();
                 coordinatorMenu.Show();
                 Close();
             }
         }
         catch (EntityException)
         {
             MessageBox.Show("El responsable del proyecto no pudo registrarse. Intente más tarde", "Registro Fallido", MessageBoxButton.OK, MessageBoxImage.Error);
             CoordinatorMenu coordinatorMenu = new CoordinatorMenu();
             coordinatorMenu.Show();
             Close();
         }
     }
     else
     {
         MessageBox.Show("Por favor, Ingrese datos correctos en los campos marcados en rojo", "Datos Incorrectos", MessageBoxButton.OK, MessageBoxImage.Warning);
     }
 }