Пример #1
0
        public void CreateNewCompany_WhenCreateCompanyWithValidDataIsPassed()
        {
            var company = new CompanyFactory();

            var newCompany = company.CreateCompany("Izgrev", "1234567890");

            Assert.IsInstanceOf(typeof(Company), newCompany);
        }
Пример #2
0
        public async Task CreateCompanyAsync(CompanyCreateRequest request)
        {
            Entities.Company company = CompanyFactory.CreateCompany(request);

            _companyRepository.Insert(company);

            await _unitOfWork.SaveAsync();
        }
Пример #3
0
        public async Task <IActionResult> Create([FromBody] NewUpdateCompany newCompany)
        {
            newCompany.StoreId = GetStoreId();

            var company = CompanyFactory.CreateCompany(newCompany);

            await _writeRepository.CreateAsync(company);

            return(Ok(company));
        }
Пример #4
0
        public ActionResult Create(CompanyModel model)
        {
            if (ModelState.IsValid)
            {
                var company = CompanyFactory.CreateCompany(model.CompanyName, model.Activity,
                                                           new Address(model.City, model.Street));
                CompanyRepository.AddCompany(company);

                var companyNamesActivity = CompanyRepository.GetAllCompanyNamesAndActivity();
                return(PartialView("CompanyList", companyNamesActivity));
            }
            Response.StatusCode = (int)HttpStatusCode.NotAcceptable;
            return(PartialView(model));
        }
Пример #5
0
        /// <summary>
        /// Метод редактирования юр.лица БД
        /// </summary>
        /// <param name="selectedEntity">выбранный клиент</param>
        /// <param name="lastName">фамилия</param>
        /// <param name="firstName">имя</param>
        /// <param name="middleName">отчество</param>
        /// <param name="series">серия паспорта</param>
        /// <param name="number">номер паспорта</param>
        /// <param name="address">адрес</param>
        /// <param name="phoneNumber">номер телефона</param>
        /// <param name="email">эмейл</param>
        /// <param name="cardName">наименование карты</param>
        /// <returns>признак успешного редактирования, сообщение</returns>
        public static (bool successfully, string message) EditEntityFromDb(Entity selectedEntity,
                                                                           string lastName, string firstName, string middleName,
                                                                           string series, string number,
                                                                           string address,
                                                                           string phoneNumber, string email,
                                                                           string nameOfCompany, string website)
        {
            using (AppDbContext context = new AppDbContext())
            {
                var entity = context.Entities.FirstOrDefault(e => e.Id == selectedEntity.Id);

                var(passport, contact) = CreateBaseRequisites(lastName, firstName, middleName, series, number, address, phoneNumber, email);

                //Данные компании
                var company = CompanyFactory.CreateCompany(nameOfCompany, website);

                //Проверка на совпадения в реквизитах
                var(noMatchesFound, message) = SearchForMatchesForEditing.EntityErrorProcessing(entity, passport, contact, company);

                if (noMatchesFound)
                {
                    entity.Passport = passport;
                    entity.Contact  = contact;
                    entity.Company  = company;

                    context.SaveChanges();
                    message = "Произведена операция редактирования:\n" +
                              $"Клиент: {entity.Passport.FullName.Name}\n" +
                              $"Карта: {selectedEntity.Account.Card.CardName}\n" +
                              $"Номер: {selectedEntity.Account.Card.CardNumber}\n" +
                              $"Статус: {(selectedEntity.Account is RegularAccount ? "Стандарт" : "VIP")}\n" +
                              $"Дата: {DateTime.Now: dd/MM/yyyy HH:mm:ss}\n" +
                              "Отчет: Успешно";

                    ClientEdited?.Invoke(null, new EditClientEventArgs {
                        LogMessage = message
                    });
                }

                return(noMatchesFound, message);
            }
        }
Пример #6
0
        public void ShouldCreateCompanyUsingExistingId()
        {
            Guid EXISTING_ID = new Guid("89707872-eab3-4f04-bfe8-7dc20f5d3b9c");

            CompanyFactory factory = new CompanyFactory();

            string   name           = "Fabrikam";
            string   description    = "Fictional Microsoft company";
            string   cnpj           = "5113111310";
            string   inscrEstadual  = "15115511331";
            string   email          = "*****@*****.**";
            string   ownerName      = "Lucas Pereira";
            DateTime ownerBirthDate = DateTime.Now.AddYears(-20);
            string   cpf            = "81.153.856-99";

            Company company = factory.CreateCompany(name, description, email, cnpj, inscrEstadual, ownerName, ownerBirthDate, cpf, Guid.NewGuid(), EXISTING_ID);

            Assert.IsNotNull(company);
            Assert.AreEqual(new Guid("89707872-eab3-4f04-bfe8-7dc20f5d3b9c"), company.Id);
        }
Пример #7
0
        /// <summary>
        /// Метод добавления юр.лица в БД
        /// </summary>
        /// <param name="lastName">фамилия</param>
        /// <param name="firstName">имя</param>
        /// <param name="middleName">отчество</param>
        /// <param name="series">серия паспорта</param>
        /// <param name="number">номер паспорта</param>
        /// <param name="address">адрес</param>
        /// <param name="phoneNumber">номер телефона</param>
        /// <param name="email">эмейл</param>
        /// <param name="cardName">наименование карты</param>
        /// <param name="accountType">тип аккаунта</param>
        /// <returns>признак успешного добавления, сообщение</returns>
        public static (bool successfully, string message) AddEntityToDb(string lastName, string firstName, string middleName,
                                                                        string series, string number,
                                                                        string address,
                                                                        string phoneNumber, string email,
                                                                        string nameOfCompany, string website,
                                                                        string cardName, AccountType accountType)
        {
            using (AppDbContext context = new AppDbContext())
            {
                var(passport, contact, account) = CreateBaseRequisites(lastName, firstName, middleName, series, number, address, phoneNumber, email, cardName, accountType);

                //Данные компании
                var company = CompanyFactory.CreateCompany(nameOfCompany, website);

                //Создание юр.лица
                var entity = EntityFactory.CreateEntity(passport, contact, account, company);

                //Проверка на совпадения в реквизитах
                var(noMatchesFound, message) = SearchForMatchesForAdding.EntityErrorProcessing(passport, contact, company);

                if (noMatchesFound)
                {
                    context.Clients.Add(entity);

                    context.SaveChanges();
                    message = "Произведена операция добавления:\n" +
                              $"Клиент: {entity.Passport.FullName.Name}\n" +
                              $"Карта: {entity.Account.Card.CardName}\n" +
                              $"Номер: {entity.Account.Card.CardNumber}\n" +
                              $"Статус: {(entity.Account is RegularAccount ? "Стандарт" : "VIP")}\n" +
                              $"Дата: {DateTime.Now : dd/MM/yyyy HH:mm:ss}\n" +
                              "Отчет: Успешно";

                    ClientAdded?.Invoke(null, new AddClientEventArgs {
                        LogMessage = message
                    });
                }

                return(noMatchesFound, message);
            }
        }
Пример #8
0
        public void ShouldCreateCompany()
        {
            CompanyFactory factory = new CompanyFactory();

            string   name           = "Fabrikam";
            string   description    = "Fictional Microsoft company";
            string   cnpj           = "5113111310";
            string   inscrEstadual  = "15115511331";
            string   email          = "*****@*****.**";
            string   ownerName      = "Lucas Pereira";
            DateTime ownerBirthDate = DateTime.Now.AddYears(-20);
            string   cpf            = "81.153.856-99";
            Guid     tenantId       = Guid.NewGuid();

            Company company = factory.CreateCompany(name, description, email, cnpj, inscrEstadual, ownerName, ownerBirthDate, cpf, tenantId);

            Assert.IsNotNull(company);
            Assert.AreEqual("Fabrikam", company.Name);
            Assert.AreEqual("Fictional Microsoft company", company.Description);
            Assert.AreEqual("81.153.856-99", company.Owner.Cpf.Number);
        }
Пример #9
0
        /// <summary>
        /// Метод заполнения репозитория клиентами
        /// </summary>
        /// <param name="dbContext">контекст данных</param>
        /// <param name="quantity">кол-во клиентов</param>
        private static void FillRepository(AppDbContext dbContext, int quantity)
        {
            Parallel.For(1, quantity + 1, (i) =>
            {
                lock (locker)
                {
                    Client client = null;

                    decimal cardBalance    = random.Next(1, 10) * 10000;
                    decimal depositBalance = random.Next(1, 10) * 10000;
                    bool capitalization    = Convert.ToBoolean(random.Next(2));

                    //Паспортные данные
                    var passport = PassportFactory.CreatePassport(
                        FullNameFactory.CreateFullName(Gender.Female),
                        SeriesAndNumberFactory.CreateSeriesAndNumber(),
                        $"Адрес_{i}");

                    //Контактные данные
                    var contact = ContactFactory.CreateContact(PhoneNumberFactory.CreateNumber(), $"Client@Email_{i}.ru");

                    switch (random.Next(Enum.GetNames(typeof(ClientType)).Length))
                    {
                    case (int)ClientType.Individual:

                        //Данные аккаунта
                        var card    = IndividualsCardFactories[random.Next(IndividualsCardFactories.Length)].CreateCard(cardBalance);
                        var deposit = random.Next(2) == 0 ?
                                      new DefaultDepositFactory().CreateDeposit(depositBalance, capitalization, ClientType.Individual) :
                                      new NullDeposit();

                        var individualAccount = AccountFactories[random.Next(AccountFactories.Length)].CreateAccount(card, deposit);

                        //Создание физ. лица
                        client = IndividualFactory.CreateIndividual(passport, contact, individualAccount);
                        break;

                    case (int)ClientType.Entity:

                        //Данные аккаунта
                        card    = EntitiesCardFactories[random.Next(EntitiesCardFactories.Length)].CreateCard(cardBalance);
                        deposit = random.Next(2) == 0 ?
                                  new DefaultDepositFactory().CreateDeposit(depositBalance, capitalization, ClientType.Entity) :
                                  new NullDeposit();

                        var entityAccount = AccountFactories[random.Next(AccountFactories.Length)].CreateAccount(card, deposit);

                        //Данные компании
                        var company = CompanyFactory.CreateCompany($"Компания_{i}", $"http:\\Company.Website_{i}.ru");

                        //Создание юр.лица
                        client = EntityFactory.CreateEntity(passport, contact, entityAccount, company);
                        break;

                    default:
                        throw new ArgumentOutOfRangeException();
                    }

                    ProcessingCountEvent?.Invoke(Count++);
                    dbContext.Add(client);
                }
            });

            dbContext.SaveChanges();
        }
Пример #10
0
        private static void PopulatingDb()
        {
            var personsList = new List <Person>();
            var companylist = new List <Company>();

            var salary   = new Salary(1500, 0.0);
            var salary2  = new Salary(1600, 0.0);
            var salary3  = new Salary(1700, 0.0);
            var salary4  = new Salary(1520, 0.0);
            var salary5  = new Salary(1300, 0.0);
            var salary6  = new Salary(1540, 0.0);
            var salary7  = new Salary(1550, 0.0);
            var salary8  = new Salary(1570, 0.0);
            var salary9  = new Salary(1680, 0.0);
            var salary10 = new Salary(1520, 0.0);

            var newAddress   = new Address("Monumentul Stefan cel Mare", "Chisinau");
            var newAddress2  = new Address("Aleco Ruso", "Chisinau");
            var newAddress3  = new Address("bd Decebal", "Chisinau");
            var newAddress4  = new Address("bd Miorita", "Chisinau");
            var newAddress5  = new Address("bd Renasterii", "Chisinau");
            var newAddress6  = new Address("Monumentul Stefan cel Mare", "Chisinau");
            var newAddress7  = new Address("Aleco Ruso", "Chisinau");
            var newAddress8  = new Address("bd Decebal", "Chisinau");
            var newAddress9  = new Address("bd Miorita", "Chisinau");
            var newAddress10 = new Address("bd Renasterii", "Chisinau");
            var newAddress11 = new Address("Monumentul Stefan cel Mare", "Chisinau");
            var newAddress12 = new Address("Aleco Ruso", "Chisinau");
            var newAddress13 = new Address("bd Decebal", "Chisinau");
            var newAddress14 = new Address("bd Miorita", "Chisinau");
            var newAddress15 = new Address("bd Renasterii", "Chisinau");
            var newAddress16 = new Address("Monumentul Stefan cel Mare", "Chisinau");
            var newAddress17 = new Address("Aleco Ruso", "Chisinau");
            var newAddress18 = new Address("bd Decebal", "Chisinau");
            var newAddress19 = new Address("bd Miorita", "Chisinau");
            var newAddress20 = new Address("bd Renasterii", "Chisinau");

            var skills = new Dictionary <string, int> {
                { "C#", 80 }, { "SQL", 90 }
            };
            var skills2 = new Dictionary <string, int> {
                { "CSS", 80 }, { "PHP", 90 }, { "HTML", 90 }
            };
            var skills3 = new Dictionary <string, int> {
                { "JavaScript", 80 }, { "HTML", 90 }
            };
            var skills4 = new Dictionary <string, int> {
                { "C++", 80 }
            };
            var skills5 = new Dictionary <string, int> {
                { "C#", 80 }, { "SQL", 90 }, { "CSS", 80 }, { "PHP", 90 }, { "HTML", 90 }
            };

            var comp  = CompanyFactory.CreateCompany("Imea", FieldOfActivity.IT, newAddress);
            var comp2 = CompanyFactory.CreateCompany("WIKER", FieldOfActivity.IT, newAddress2);
            var comp3 = CompanyFactory.CreateCompany("Bones", FieldOfActivity.IT, newAddress3);
            var comp4 = CompanyFactory.CreateCompany("XQT", FieldOfActivity.IT, newAddress4);
            var comp5 = CompanyFactory.CreateCompany("Akigor", FieldOfActivity.IT, newAddress5);

            companylist.Add(comp);
            companylist.Add(comp2);
            companylist.Add(comp3);
            companylist.Add(comp4);
            companylist.Add(comp5);

            var proj  = ProjectFactory.CreateProject(comp, "Nima", "Project nr 1");
            var proj2 = ProjectFactory.CreateProject(comp, "BJH", "Project nr 2");
            var proj3 = ProjectFactory.CreateProject(comp, "XAF", "Project nr 3");

            comp.AddProject(proj);
            comp.AddProject(proj2);
            comp.AddProject(proj3);
            comp5.AddProject(proj2);

            var proj4 = ProjectFactory.CreateProject(comp2, "P1", "Project nr 1");
            var proj5 = ProjectFactory.CreateProject(comp2, "P2", "Project nr 2");
            var proj6 = ProjectFactory.CreateProject(comp2, "P3", "Project nr 3");
            var proj7 = ProjectFactory.CreateProject(comp2, "P4", "Project nr 4");
            var proj8 = ProjectFactory.CreateProject(comp2, "P5", "Project nr 5");

            comp2.AddProject(proj4);
            comp2.AddProject(proj5);
            comp2.AddProject(proj6);
            comp2.AddProject(proj7);
            comp2.AddProject(proj8);
            comp5.AddProject(proj7);

            var proj9  = ProjectFactory.CreateProject(comp3, "1Pr", "Project nr 1");
            var proj10 = ProjectFactory.CreateProject(comp3, "2Pr", "Project nr 2");
            var proj11 = ProjectFactory.CreateProject(comp3, "3Pr", "Project nr 3");
            var proj12 = ProjectFactory.CreateProject(comp3, "4Pr", "Project nr 4");
            var proj13 = ProjectFactory.CreateProject(comp3, "5Pr", "Project nr 5");
            var proj14 = ProjectFactory.CreateProject(comp3, "6Pr", "Project nr 6");

            comp3.AddProject(proj9);
            comp3.AddProject(proj10);
            comp3.AddProject(proj11);
            comp3.AddProject(proj12);
            comp3.AddProject(proj13);
            comp3.AddProject(proj14);
            comp5.AddProject(proj11);


            var task1  = TaskFactory.CreateTask(proj, "Task1", "Description", "12.12.2016");
            var task2  = TaskFactory.CreateTask(proj2, "Task1", "Description", "12.12.2016");
            var task3  = TaskFactory.CreateTask(proj3, "Task1", "Description", "12.12.2016");
            var task4  = TaskFactory.CreateTask(proj4, "Task1", "Description", "12.12.2016");
            var task5  = TaskFactory.CreateTask(proj5, "Task1", "Description", "12.12.2016");
            var task6  = TaskFactory.CreateTask(proj6, "Task1", "Description", "12.12.2016");
            var task7  = TaskFactory.CreateTask(proj7, "Task1", "Description", "12.12.2016");
            var task8  = TaskFactory.CreateTask(proj8, "Task1", "Description", "12.12.2016");
            var task9  = TaskFactory.CreateTask(proj9, "Task1", "Description", "12.12.2016");
            var task10 = TaskFactory.CreateTask(proj10, "Task1", "Description", "12.12.2016");
            var task11 = TaskFactory.CreateTask(proj11, "Task1", "Description", "12.12.2016");
            var task12 = TaskFactory.CreateTask(proj12, "Task1", "Description", "12.12.2016");
            var task13 = TaskFactory.CreateTask(proj13, "Task1", "Description", "12.12.2016");
            var task14 = TaskFactory.CreateTask(proj14, "Task1", "Description", "12.12.2016");
            var task15 = TaskFactory.CreateTask(proj, "Task2", "Description", "12.12.2016");
            var task16 = TaskFactory.CreateTask(proj2, "Task2", "Description", "12.12.2016");
            var task17 = TaskFactory.CreateTask(proj3, "Task2", "Description", "12.12.2016");
            var task18 = TaskFactory.CreateTask(proj4, "Task2", "Description", "12.12.2016");
            var task19 = TaskFactory.CreateTask(proj, "Task3", "Description", "12.12.2016");
            var task20 = TaskFactory.CreateTask(proj2, "Task3", "Description", "12.12.2016");

            proj.AddTask(task1);
            proj.AddTask(task15);
            proj.AddTask(task19);
            proj2.AddTask(task2);
            proj2.AddTask(task16);
            proj2.AddTask(task20);
            proj3.AddTask(task3);
            proj3.AddTask(task17);
            proj4.AddTask(task4);
            proj4.AddTask(task18);
            proj5.AddTask(task5);
            proj6.AddTask(task6);
            proj7.AddTask(task7);
            proj8.AddTask(task8);
            proj9.AddTask(task9);
            proj10.AddTask(task10);
            proj11.AddTask(task11);
            proj12.AddTask(task12);
            proj13.AddTask(task13);
            proj14.AddTask(task14);

            var intern  = InternFactory.CreateIntern("Vasile", "Ion", DateTime.Parse("1990-12-13"), skills, newAddress6, comp, 80);
            var intern2 = InternFactory.CreateIntern("Artur", "Rusnac", DateTime.Parse("1990-12-13"), skills2, newAddress7, comp2, 80);
            var intern3 = InternFactory.CreateIntern("Alex", "Maioco", DateTime.Parse("1990-12-13"), skills3, newAddress8, comp3, 80);
            var intern4 = InternFactory.CreateIntern("Max", "Josan", DateTime.Parse("1990-12-13"), skills4, newAddress9, comp4, 80);
            var intern5 = InternFactory.CreateIntern("Rumulus", "Remus", DateTime.Parse("1990-12-13"), skills5, newAddress10, comp5, 80);

            personsList.Add(intern);
            personsList.Add(intern2);
            personsList.Add(intern3);
            personsList.Add(intern4);
            personsList.Add(intern5);

            var contr1 = ContractorFactory.CreateContractor("Iulius", "Cezar", DateTime.Parse("1980-05-01"), skills3, newAddress11, comp,
                                                            11, salary);
            var contr2 = ContractorFactory.CreateContractor("Junior", "Vamp", DateTime.Parse("1980-05-01"), skills2, newAddress12, comp2,
                                                            12, salary2);
            var contr3 = ContractorFactory.CreateContractor("Hugo", "Boss", DateTime.Parse("1980-05-01"), skills, newAddress13, comp3, 13,
                                                            salary3);
            var contr4 = ContractorFactory.CreateContractor("Jason", "Statham", DateTime.Parse("1980-05-01"), skills4, newAddress14,
                                                            comp4, 14, salary4);
            var contr5 = ContractorFactory.CreateContractor("Guy", "Rich", DateTime.Parse("1980-05-01"), skills3, newAddress15, comp2, 15,
                                                            salary5);

            personsList.Add(contr1);
            personsList.Add(contr2);
            personsList.Add(contr3);
            personsList.Add(contr4);
            personsList.Add(contr5);

            var emp = EmployeeFactory.CreateEmployee("John", "Doe", DateTime.Parse("1980-04-01"), skills2, newAddress16, comp, 20, salary6,
                                                     "Test",
                                                     "Testing Ingineer");
            var emp2 = EmployeeFactory.CreateEmployee("Jim", "Dole", DateTime.Parse("1990-05-10"), skills, newAddress17, comp2, 30, salary7,
                                                      "Softwer Development",
                                                      "Software developer");
            var emp3 = EmployeeFactory.CreateEmployee("Anne", "Fireman", DateTime.Parse("1995-12-12"), skills3, newAddress18, comp3, 60,
                                                      salary8, "Test", "Testing Ingineer");
            var emp4 = EmployeeFactory.CreateEmployee("Vanessa", "Ginger", DateTime.Parse("1996-11-01"), skills4, newAddress19, comp4, 70,
                                                      salary9, "Softwer Development", "Software developer");
            var emp5 = EmployeeFactory.CreateEmployee("Will", "Smith", DateTime.Parse("1990-11-01"), skills4, newAddress20, comp4, 70,
                                                      salary10, "Softwer Development", "Software developer");

            personsList.Add(emp);
            personsList.Add(emp2);
            personsList.Add(emp3);
            personsList.Add(emp4);
            personsList.Add(emp5);


            CompanyRepository.AddCompany(companylist[0]);
            CompanyRepository.AddCompany(companylist[1]);
            CompanyRepository.AddCompany(companylist[2]);
            CompanyRepository.AddCompany(companylist[3]);
            CompanyRepository.AddCompany(companylist[4]);
            PersonRepository.AddPerson(personsList[0]);
            PersonRepository.AddPerson(personsList[1]);
            PersonRepository.AddPerson(personsList[2]);
            PersonRepository.AddPerson(personsList[3]);
            PersonRepository.AddPerson(personsList[4]);
            PersonRepository.AddPerson(personsList[5]);
            PersonRepository.AddPerson(personsList[6]);
            PersonRepository.AddPerson(personsList[7]);
            PersonRepository.AddPerson(personsList[8]);
            PersonRepository.AddPerson(personsList[9]);
            PersonRepository.AddPerson(personsList[10]);
            PersonRepository.AddPerson(personsList[11]);
            PersonRepository.AddPerson(personsList[12]);
            PersonRepository.AddPerson(personsList[13]);
            PersonRepository.AddPerson(personsList[14]);
            PersonRepository.AddPerson(personsList[15]);
        }