Example #1
0
        private void SaveButtonClicked(object sender, RoutedEventArgs routedEventArgs)
        {
            LinkedOrganization linkedOrganizationObtein = ((LinkedOrganization)ListViewLinkedOrganization.SelectedItem);

            linkedOrganization = linkedOrganizationObtein;
            Close();
        }
        private bool ThereIsAnotherLinkedOrganizationWithSameData(UnitOfWork unitOfWork)
        {
            LinkedOrganization retrievedLinkedOrganization =
                unitOfWork.LinkedOrganizations.FindFirstOccurence(linkedOrganization =>
                                                                  (linkedOrganization.Name.Equals(LinkedOrganizationToBeModified.Name) ||
                                                                   linkedOrganization.Email.Equals(LinkedOrganizationToBeModified.Email)) &&
                                                                  linkedOrganization.IdLinkedOrganization != LinkedOrganizationToBeModified.IdLinkedOrganization);

            Phone retrievedPhone = unitOfWork.Phones.FindFirstOccurence(phone => (phone.PhoneNumber.Equals(LinkedOrganizationToBeModified.PhoneNumbers[0].PhoneNumber) ||
                                                                                  phone.PhoneNumber.Equals(LinkedOrganizationToBeModified.PhoneNumbers[1].PhoneNumber)) &&
                                                                        phone.IdLinkedOrganization != LinkedOrganizationToBeModified.IdLinkedOrganization);

            if (retrievedLinkedOrganization != null)
            {
                return(true);
            }

            if (retrievedPhone != null)
            {
                if (retrievedPhone.IdPhoneNumber != LinkedOrganizationToBeModified.PhoneNumbers[0].IdPhoneNumber ||
                    retrievedPhone.IdPhoneNumber != LinkedOrganizationToBeModified.PhoneNumbers[1].IdPhoneNumber)
                {
                    return(true);
                }
            }

            return(false);
        }
        public void DeleteLinkedOrganization_ErrorDueToActiveProjects()
        {
            LinkedOrganization linkedOrganizationToBeDeleted = _unitOfWork.LinkedOrganizations.Get(1);

            linkedOrganizationToBeDeleted.Projects = new List <Project>();
            linkedOrganizationToBeDeleted.Projects.Add(new Project
            {
                NameProject        = "Desarrollo de sistema web",
                Description        = "Creación de un sistema web de inventario",
                ObjectiveGeneral   = "Desarrollar un sistema web",
                ObjectiveImmediate = "Crear una aplicación web que permita llevar el control de inventario",
                ObjectiveMediate   = "Crear documentación pertinente",
                Methodology        = "SCRUM",
                Resources          = "Computadora portatil, escritorio",
                Status             = ProjectStatus.ACTIVE,
                Duration           = 100,
                Activities         = "Desarrollar el sistema",
                Responsibilities   = "Desarrollar el sistema",
                QuantityPracticing = 2,
                Term = "Febrero - Julio 2021",
                IdLinkedOrganization   = 1,
                StaffNumberCoordinator = "S18012122",
                IdResponsibleProject   = 1,
            });
            _unitOfWork.Complete();
            bool linkedOrganizationHasActiveProjects = _unitOfWork.LinkedOrganizations.HasActiveProjects(1);

            _unitOfWork.Dispose();
            Assert.IsTrue(linkedOrganizationHasActiveProjects);
        }
        private void DeleteButtonClicked(object sender, RoutedEventArgs e)
        {
            LinkedOrganization selectedLinkedOrganization         = (LinkedOrganization)ListViewLinkedOrganization.SelectedItem;
            int idOfSelectedLinkedOrganization                    = selectedLinkedOrganization.IdLinkedOrganization;
            LinkedOrganizationDeletion linkedOrganizationDeletion = new LinkedOrganizationDeletion(idOfSelectedLinkedOrganization);

            linkedOrganizationDeletion.Show();
            this.Close();
        }
        public void ModifyLinkedOrganization_Success()
        {
            LinkedOrganization linkedOrganization = _unitOfWork.LinkedOrganizations.Get(1);

            linkedOrganization.Name = "Dell";
            _unitOfWork.Complete();
            _unitOfWork.Dispose();
            Assert.AreEqual("Dell", _data[0].Name);
        }
Example #6
0
        private void LinkedOrganizationListViewSelectionChanged(object sender, SelectionChangedEventArgs selectionChanged)
        {
            LinkedOrganization linkedOrganization = ((LinkedOrganization)ListViewLinkedOrganization.SelectedItem);

            if (linkedOrganization != null)
            {
                ButtonSave.IsEnabled = true;
            }
        }
        public void ModifyLinkedOrganization_ErrorDueToRepeatedName()
        {
            LinkedOrganization linkedOrganization = _unitOfWork.LinkedOrganizations.Get(1);

            linkedOrganization.Name = "Sony";
            bool isAlreadyRegistered =
                _unitOfWork.LinkedOrganizations.ThereIsAnotherLinkedOrganizationWithSameData(linkedOrganization);

            Assert.IsTrue(isAlreadyRegistered);
        }
        public void ModifyLinkedOrganization_ErrorDueToRepeatedEmail()
        {
            LinkedOrganization linkedOrganization = _unitOfWork.LinkedOrganizations.Get(1);

            linkedOrganization.Email = "*****@*****.**";
            bool isAlreadyRegistered =
                _unitOfWork.LinkedOrganizations.ThereIsAnotherLinkedOrganizationWithSameData(linkedOrganization);

            Assert.IsTrue(isAlreadyRegistered);
        }
Example #9
0
        private void ChooseLinkedOrganizationButtonClicked(object sender, RoutedEventArgs routedEventArgs)
        {
            LinkedOrganizationChoose chooseLinkedOrganization = new LinkedOrganizationChoose();

            chooseLinkedOrganization.ShowDialog();
            _linkedOrganization = LinkedOrganizationChoose.ObteinLinkedOrganization();
            if (!object.ReferenceEquals(null, _linkedOrganization))
            {
                TextBoxLinkedOrganization.Text = _linkedOrganization.Name;
            }
        }
Example #10
0
        private void ChooseLinkedOrganizationButtonClicked(object sender, RoutedEventArgs routedEventArgs)
        {
            LinkedOrganizationChoose chooseLinkedOrganization = new LinkedOrganizationChoose();

            chooseLinkedOrganization.ShowDialog();
            LinkedOrganization linkedOrganizationReceived = LinkedOrganizationChoose.ObteinLinkedOrganization();

            if (linkedOrganizationReceived != null)
            {
                TextBoxLinkedOrganization.Text           = linkedOrganizationReceived.Name;
                _linkedOrganization.IdLinkedOrganization = linkedOrganizationReceived.IdLinkedOrganization;
            }
        }
Example #11
0
        public bool PhoneIsAlreadyRegistered(LinkedOrganization linkedOrganization)
        {
            Phone phone1 = linkedOrganization.PhoneNumbers[0];
            Phone phone2 = linkedOrganization.PhoneNumbers[1];

            IQueryable <Phone> retrievedPhones = _context.Set <Phone>().Where(ph => (ph.PhoneNumber.Equals(phone1.PhoneNumber) ||
                                                                                     ph.PhoneNumber.Equals(phone2.PhoneNumber)) &&
                                                                              ph.IdLinkedOrganization != linkedOrganization.IdLinkedOrganization);

            if (retrievedPhones.Count() > 0)
            {
                return(true);
            }
            return(false);
        }
        public void DeleteLinkedOrganization_Success()
        {
            LinkedOrganization linkedOrganizationToBeDeleted = _unitOfWork.LinkedOrganizations.Get(1);

            linkedOrganizationToBeDeleted.LinkedOrganizationStatus = LinkedOrganizationStatus.INACTIVE;
            _unitOfWork.Complete();

            IList <LinkedOrganization> activeLinkedOrganizations =
                _unitOfWork.LinkedOrganizations.Find(linkedOrg => linkedOrg.LinkedOrganizationStatus == LinkedOrganizationStatus.ACTIVE).ToList();

            _unitOfWork.Complete();
            _unitOfWork.Dispose();
            int expected = 1;

            Assert.AreEqual(expected, activeLinkedOrganizations.Count());
        }
Example #13
0
        private bool ThereIsAnotherLinkedOrganizationWithSameData(UnitOfWork unitOfWork)
        {
            LinkedOrganization retrievedLinkedOrganization =
                unitOfWork.LinkedOrganizations.FindFirstOccurence(linkedOrganization =>
                                                                  linkedOrganization.Name.Equals(LinkedOrganization.Name) ||
                                                                  linkedOrganization.Email.Equals(LinkedOrganization.Email));

            Phone retrievedPhone = unitOfWork.Phones.FindFirstOccurence(phone => phone.PhoneNumber.Equals(LinkedOrganization.PhoneNumbers[0].PhoneNumber) ||
                                                                        phone.PhoneNumber.Equals(LinkedOrganization.PhoneNumbers[1].PhoneNumber));

            if (retrievedLinkedOrganization != null || retrievedPhone != null)
            {
                return(true);
            }

            return(false);
        }
Example #14
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;
        }
Example #15
0
 private void DeleteButtonClicked(object sender, RoutedEventArgs e)
 {
     if (UserConfirmedDeletion())
     {
         ProfessionalPracticesContext professionalPracticesContext = new ProfessionalPracticesContext();
         UnitOfWork unitOfWork = new UnitOfWork(professionalPracticesContext);
         try
         {
             int  linkedOrganizationId = _linkedOrganization.IdLinkedOrganization;
             bool linkedOrganizationHasActiveProjects = unitOfWork.LinkedOrganizations.HasActiveProjects(linkedOrganizationId);
             if (linkedOrganizationHasActiveProjects)
             {
                 MessageBox.Show("La organización vinculada no pudo eliminarse debido a que tiene uno o más proyectos activos");
             }
             else
             {
                 LinkedOrganization linkedOrganization = unitOfWork.LinkedOrganizations.Get(linkedOrganizationId);
                 linkedOrganization.LinkedOrganizationStatus = LinkedOrganizationStatus.INACTIVE;
                 int affectedRows = unitOfWork.Complete();
                 if (affectedRows == 1)
                 {
                     MessageBox.Show("La organización vinculada se eliminó exitosamente");
                 }
                 else
                 {
                     MessageBox.Show("La organización vinculada no pudo eliminarse");
                 }
             }
             GoBackToLinkedOrganizationConsultation();
         }
         catch (SqlException)
         {
             unitOfWork.Dispose();
             NotifyErrorAndExit();
         }
         catch (EntityException)
         {
             unitOfWork.Dispose();
             NotifyErrorAndExit();
         }
     }
 }
Example #16
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;
 }
Example #17
0
        public void ModifyLinkedOrganization_ErrorDueToRepeatedPhoneNumberOne()
        {
            LinkedOrganization linkedOrganization = new LinkedOrganization
            {
                IdLinkedOrganization = 1,
                Name          = "Intel",
                DirectUsers   = "Comunidad estudiantil",
                IndirectUsers = "Comunidad tecnológica",
                Email         = "*****@*****.**",
                PhoneNumbers  = new List <Phone>
                {
                    new Phone
                    {
                        IdPhoneNumber        = 1,
                        IdLinkedOrganization = 1,
                        Extension            = "521",
                        PhoneNumber          = "2281244230"
                    },
                    new Phone
                    {
                        IdPhoneNumber        = 1,
                        IdLinkedOrganization = 1,
                        Extension            = "521",
                        PhoneNumber          = "2281115489"
                    },
                },
                Address  = "Enrique Segoviano",
                IdCity   = 1,
                IdState  = 1,
                IdSector = 1,
                LinkedOrganizationStatus = LinkedOrganizationStatus.ACTIVE,
            };

            linkedOrganization.PhoneNumbers[0].PhoneNumber = "2281244285";
            linkedOrganization.PhoneNumbers[1].PhoneNumber = "2281244908";
            bool phoneIsAlreadyRegistered =
                _unitOfWork.Phones.PhoneIsAlreadyRegistered(linkedOrganization);

            Assert.IsFalse(phoneIsAlreadyRegistered);
        }
        private void LinkedOrganizationListViewSelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            LinkedOrganization linkedOrganization = ((LinkedOrganization)ListViewLinkedOrganization.SelectedItem);

            if (linkedOrganization != null)
            {
                ButtonModify.IsEnabled = true;
                if (linkedOrganization.LinkedOrganizationStatus == LinkedOrganizationStatus.ACTIVE)
                {
                    ButtonDelete.IsEnabled = true;
                }
                else
                {
                    ButtonDelete.IsEnabled = false;
                }
            }
            else
            {
                ButtonModify.IsEnabled = false;
                ButtonDelete.IsEnabled = false;
            }
        }
Example #19
0
        private void LoadLinkedOrganizationData(int idLinkedOrganization)
        {
            ProfessionalPracticesContext professionalPracticesContext = new ProfessionalPracticesContext();
            UnitOfWork unitOfWork = new UnitOfWork(professionalPracticesContext);

            try
            {
                _linkedOrganization            = unitOfWork.LinkedOrganizations.Get(idLinkedOrganization);
                TextBlockFirstPhoneNumber.Text = $"+{_linkedOrganization.PhoneNumbers[0].Extension}" +
                                                 $" {_linkedOrganization.PhoneNumbers[0].PhoneNumber}";
                TextBlockSecondPhoneNumber.Text = $"+{_linkedOrganization.PhoneNumbers[1].Extension}" +
                                                  $" {_linkedOrganization.PhoneNumbers[1].PhoneNumber}";
            }
            catch (SqlException)
            {
                unitOfWork.Dispose();
                NotifyErrorAndExit();
            }
            catch (EntityException)
            {
                unitOfWork.Dispose();
                NotifyErrorAndExit();
            }
        }
Example #20
0
        public void ValidateLinkedOrganization_PhoneTwoError()
        {
            LinkedOrganization linkedOrganization = new LinkedOrganization
            {
                IdLinkedOrganization = 1,
                Name          = "Intel",
                DirectUsers   = "Comunidad estudiantil",
                IndirectUsers = "Comunidad tecnologica",
                Email         = "*****@*****.**",
                PhoneNumbers  = new List <Phone>
                {
                    new Phone
                    {
                        IdPhoneNumber        = 1,
                        IdLinkedOrganization = 1,
                        Extension            = "521",
                        PhoneNumber          = "2283898765"
                    },
                    new Phone
                    {
                        IdPhoneNumber        = 1,
                        IdLinkedOrganization = 1,
                        Extension            = "521",
                        PhoneNumber          = "1234mkl_,p"
                    },
                },
                Address  = "Enrique Segoviano",
                IdCity   = 1,
                IdState  = 1,
                IdSector = 1,
                LinkedOrganizationStatus = LinkedOrganizationStatus.ACTIVE,
            };
            var result = _linkedOrganizationValidator.TestValidate(linkedOrganization);

            result.ShouldHaveValidationErrorFor(l => l.PhoneNumbers[1].PhoneNumber);
        }
Example #21
0
        public void ValidateLinkedOrganization_AddressError()
        {
            LinkedOrganization linkedOrganization = new LinkedOrganization
            {
                IdLinkedOrganization = 1,
                Name          = "Intel",
                DirectUsers   = "Comunidad estudiantil",
                IndirectUsers = "Comunidad tecnologica",
                Email         = "*****@*****.**",
                PhoneNumbers  = new List <Phone>
                {
                    new Phone
                    {
                        IdPhoneNumber        = 1,
                        IdLinkedOrganization = 1,
                        Extension            = "521",
                        PhoneNumber          = "2281244285"
                    },
                    new Phone
                    {
                        IdPhoneNumber        = 1,
                        IdLinkedOrganization = 1,
                        Extension            = "521",
                        PhoneNumber          = "2281115489"
                    },
                },
                Address  = "",
                IdCity   = 1,
                IdState  = 1,
                IdSector = 1,
                LinkedOrganizationStatus = LinkedOrganizationStatus.ACTIVE,
            };
            var result = _linkedOrganizationValidator.TestValidate(linkedOrganization);

            result.ShouldHaveValidationErrorFor(l => l.Address);
        }
 private void LoadLinkedOrganizationData(UnitOfWork unitOfWork, int linkedOrganizationId)
 {
     LinkedOrganizationToBeModified = unitOfWork.LinkedOrganizations.Get(linkedOrganizationId);
 }