コード例 #1
0
        /// <summary>
        /// Add coach
        /// </summary>
        /// <param name="coachContract"></param>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        /// <exception cref="ArgumentException"></exception>
        public async Task <bool> AddCoach(CoachContract coachContract, CancellationToken cancellationToken)
        {
            var checkCoach = await _dbContext.Coaches.FirstOrDefaultAsync(x => x.Id == coachContract.Id, cancellationToken);

            if (checkCoach != null)
            {
                _logger.LogInformation($"Coach with id {coachContract.Id} is not found");
                return(false);
            }

            var coach = CoachMapping.CoachMapFromContractToModel(coachContract);

            var age = (int)(DateTime.Now.Subtract(coach.BirthDate).TotalDays / 365.2425);

            if (age < 18 || age > 90)
            {
                _logger.LogInformation($"Coach with id {coachContract.Id} is not suitable for age : {age}");
                return(false);
            }

            try
            {
                await _dbContext.Coaches.AddAsync(coach, cancellationToken);

                await _dbContext.SaveChangesAsync(cancellationToken);
            }
            catch
            {
                _logger.LogInformation($"Coach with id {coachContract.Id} is not added");
                return(false);
            }

            return(true);
        }
コード例 #2
0
        public async Task <IActionResult> UpdateCoach([FromBody] CoachContract coach, CancellationToken cancellationToken)
        {
            var update = await _coachService.UpdateCoach(coach, cancellationToken);

            if (update)
            {
                return(Ok());
            }

            return(NotFound());
        }
コード例 #3
0
        public async Task <IActionResult> CreateCoach([FromBody] CoachContract coach, CancellationToken cancellationToken)
        {
            var coachAdd = await _coachService.AddCoach(coach, cancellationToken);

            if (coachAdd)
            {
                return(Ok());
            }

            return(Conflict());
        }
コード例 #4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="contract"></param>
        /// <param name="model"></param>
        /// <returns></returns>
        public static Coach CoachMapFromContractToModel(CoachContract contract, Coach model)
        {
            if (contract == null)
            {
                return(null);
            }

            model.FirstName   = contract.FirstName;
            model.LastName    = contract.LastName;
            model.Description = contract.Description;
            model.BirthDate   = DateTime.ParseExact(contract.DateBirth, Settings.DateFormat, null, DateTimeStyles.None);
            model.PhoneNumber = contract.PhoneNumber;
            return(model);
        }
コード例 #5
0
 /// <summary>
 /// From contract to model
 /// </summary>
 /// <param name="contract"></param>
 /// <returns></returns>
 public static Coach CoachMapFromContractToModel(CoachContract contract)
 {
     if (contract == null)
     {
         return(null);
     }
     return(new Coach()
     {
         Id = contract.Id,
         FirstName = contract.FirstName,
         LastName = contract.LastName,
         BirthDate = DateTime.ParseExact(contract.DateBirth, Settings.DateFormat, null, DateTimeStyles.None),
         Description = contract.Description,
         PhoneNumber = contract.PhoneNumber
     });
 }
コード例 #6
0
        public async Task Add_Coach()
        {
            Setup();

            var coaches = GenerateListOfCoches();

            var newCoach = new CoachContract()
            {
                DateBirth = "01.02.2000", Description = "TestDesc", FirstName = "Denis", LastName = "Denisovich",
                Id        = 0, PhoneNumber = "+380145674584"
            };

            _applicationContextMock.Setup(x => x.Coaches).ReturnsDbSet(coaches);

            _testedService = new CoachService(Logger, _applicationContextMock.Object);

            var result = (await _testedService.AddCoach(newCoach, CancellationToken.None));

            Assert.True(result);
        }
コード例 #7
0
        public async Task Update_Failed_Incorrect_id(int id)
        {
            Setup();

            var coaches = GenerateListOfCoches();

            var newCoach = new CoachContract()
            {
                DateBirth   = "01.02.1999",
                Description = "TestDesc",
                FirstName   = "Denis",
                LastName    = "Denisovich",
                Id          = id,
                PhoneNumber = "+380145674584"
            };

            _applicationContextMock.Setup(x => x.Coaches).ReturnsDbSet(coaches);

            _testedService = new CoachService(Logger, _applicationContextMock.Object);

            var result = (await _testedService.UpdateCoach(newCoach, CancellationToken.None));

            Assert.False(result);
        }
コード例 #8
0
        private void button_Click(object sender, EventArgs e)
        {
            using (KochkaDBEntities1 ct = new KochkaDBEntities1()) {
                if (Program.CurrentUser.Group == 1)
                {
                    if (ButtonText == "Мой абонемент")
                    {
                        SeasonTicket t = ct.SeasonTickets
                                         .ToList()
                                         .FirstOrDefault(x => x.CardNumber == Program.CurrentUser.Login);
                        Employee em = ct.Employees
                                      .ToList()
                                      .FirstOrDefault(x => x.ServiceNumber == t.ServiceNumber);
                        UserControlSeasonTicket item = new UserControlSeasonTicket()
                        {
                            ClubNumber = t.NumberOfClub.ToString(),
                            DateEnd    = t.DateOfEnd.ToString(),
                            DateBegin  = t.DateOfRegistration.ToString(),
                            StillHave  = t.VisitsStillHave.ToString(),
                            Employee   = em.Name,
                            ContactId  = t.ContractId.ToString(),
                            NameCard   = t.CardName,
                            ClubCard   = t.CardNumber
                        };
                        f2.ClearLayoutPanel();
                        panel.Controls.Add(item);
                    }


                    if (ButtonText == "Мой тренер")
                    {
                        CoachContract contract = ct.CoachContracts
                                                 .ToList()
                                                 .FirstOrDefault(x => x.CardNumber == Program.CurrentUser.Login);
                        Employee employee = ct.Employees
                                            .ToList()
                                            .FirstOrDefault(x => x.ServiceNumber == contract.ServiceNumber);
                        UserControlTrainerCoach item = new UserControlTrainerCoach()
                        {
                            ContractId = contract.CoachContractId.ToString(),
                            CoachName  = employee.EmplyeeSecondName + ' ' + employee.Name + ' ' + employee.EmplyeeMiddleName,
                            Quanity    = contract.QuantityTraining.ToString(),
                            StillHave  = contract.StillHaveTraining.ToString(),
                            DateBegin  = contract.DateOfConclusion.ToString(),
                            DateEnd    = contract.ExpiryDate.ToString(),
                            ClientName = ct.Visitors.ToList().FirstOrDefault(x => x.CardNumber == contract.CardNumber).VisitorSecondName
                        };
                        f2.ClearLayoutPanel();
                        panel.Controls.Add(item);
                    }

                    if (ButtonText == "Посещения")
                    {
                        f2.ClearLayoutPanel();
                        bool Empty = true;
                        foreach (Visit visit in ct.Visits.ToList())
                        {
                            if (visit.CardNumber == Program.CurrentUser.Login)
                            {
                                UserControlVisits item = new UserControlVisits()
                                {
                                    Date         = visit.DateOfVisit.ToString(),
                                    NumberOfClub = visit.NumberOfClub.ToString(),
                                    CardName     = visit.CardName.ToString(),
                                    ContarctId   = visit.ContractId.ToString(),
                                    CName        = ct.Visitors
                                                   .ToList()
                                                   .FirstOrDefault(x => x.CardNumber == Program.CurrentUser.Login).VisitorSecondName
                                };
                                Empty = false;
                                panel.Controls.Add(item);
                            }
                        }
                        if (Empty)
                        {
                            panel.Controls
                            .Add
                            (
                                new UserControlGuestVisit()
                            {
                                TextMessage      = "Посещений нет",
                                ClearSecondLabel = ""
                            }
                            );
                        }
                    }
                }
                else if (Program.CurrentUser.Group == 2)
                {
                    if (ButtonText == "Мои контракты")
                    {
                        f2.ClearLayoutPanel();
                        bool     Empty    = true;
                        Employee employee = ct.Employees
                                            .ToList()
                                            .FirstOrDefault(x => x.ServiceNumber.ToString() == Program.CurrentUser.Login);
                        foreach (CoachContract contract in ct.CoachContracts.ToList())
                        {
                            if (contract.ServiceNumber.ToString() == Program.CurrentUser.Login)
                            {
                                UserControlTrainerCoach item = new UserControlTrainerCoach()
                                {
                                    ContractId = contract.CoachContractId.ToString(),
                                    CoachName  = employee.EmplyeeSecondName + ' ' + employee.Name + ' ' + employee.EmplyeeMiddleName,
                                    Quanity    = contract.QuantityTraining.ToString(),
                                    StillHave  = contract.StillHaveTraining.ToString(),
                                    DateBegin  = contract.DateOfConclusion.ToString(),
                                    DateEnd    = contract.ExpiryDate.ToString(),
                                    ClientName = ct.Visitors.ToList().FirstOrDefault(x => x.CardNumber == contract.CardNumber).VisitorSecondName
                                };
                                Empty = false;
                                panel.Controls.Add(item);
                            }
                        }
                        if (Empty)
                        {
                            panel.Controls
                            .Add
                            (
                                new UserControlGuestVisit()
                            {
                                TextMessage      = "Контрактов нет",
                                ClearSecondLabel = ""
                            }
                            );
                        }
                    }
                }
                else if (Program.CurrentUser.Group == 3)
                {
                    if (ButtonText == "Абонементы")
                    {
                        f2.ClearLayoutPanel();
                        UserControlSeasonTicket it = new UserControlSeasonTicket();

                        var tick = from seasonTicket in ct.SeasonTickets
                                   join employee in ct.Employees on seasonTicket.ServiceNumber equals employee.ServiceNumber
                                   join visitor in ct.Visitors on seasonTicket.CardNumber equals visitor.CardNumber
                                   select new
                        {
                            NumberOfClub = seasonTicket.NumberOfClub,
                            NameCard     = seasonTicket.CardName,
                            CardNumber   = seasonTicket.CardNumber,
                            DateBegin    = seasonTicket.DateOfRegistration,
                            DateEnd      = seasonTicket.DateOfEnd,
                            StillHave    = seasonTicket.VisitsStillHave,
                            ContractId   = seasonTicket.ContractId,
                            EmployeeName = employee.EmplyeeSecondName,
                            ClientName   = visitor.VisitorSecondName
                        };
                        foreach (var i in tick.ToList())
                        {
                            UserControlSeasonTicket item = new UserControlSeasonTicket()
                            {
                                ClubNumber = i.NumberOfClub.ToString(),
                                NameCard   = i.NameCard,
                                ClubCard   = i.CardNumber,
                                DateBegin  = i.DateBegin.ToString(),
                                DateEnd    = i.DateEnd.ToString(),
                                ContactId  = i.ContractId.ToString(),
                                StillHave  = i.StillHave.ToString(),
                                Employee   = i.EmployeeName,
                                Client     = i.ClientName
                            };
                            panel.Controls.Add(item);
                        }
                    }


                    if (ButtonText == "Клиенты")
                    {
                        f2.ClearLayoutPanel();
                        foreach (Visitor v in ct.Visitors)
                        {
                            UserControlVisitor item = new UserControlVisitor()
                            {
                                Client   = v.VisitorSecondName + ' ' + v.VisitorName,
                                Birth    = v.VisitorBDate.ToString(),
                                ClubCard = v.CardNumber,
                                Passport = v.VisitorPassport
                            };
                            panel.Controls.Add(item);
                        }
                    }
                    if (ButtonText == "Контракты")
                    {
                        f2.ClearLayoutPanel();
                        bool Empty = true;
                        foreach (CoachContract contract in ct.CoachContracts.ToList())
                        {
                            UserControlTrainerCoach item = new UserControlTrainerCoach()
                            {
                                ContractId = contract.CoachContractId.ToString(),
                                CoachName  = "Табельный номер тренера: " + contract.ServiceNumber.ToString(),
                                Quanity    = contract.QuantityTraining.ToString(),
                                StillHave  = contract.StillHaveTraining.ToString(),
                                DateBegin  = contract.DateOfConclusion.ToString(),
                                DateEnd    = contract.ExpiryDate.ToString(),
                                ClientName = ct.Visitors.ToList().FirstOrDefault(x => x.CardNumber == contract.CardNumber).VisitorSecondName
                            };
                            Empty = false;
                            panel.Controls.Add(item);
                        }
                        if (Empty)
                        {
                            panel.Controls
                            .Add
                            (
                                new UserControlGuestVisit()
                            {
                                TextMessage      = "Контрактов нет",
                                ClearSecondLabel = ""
                            }
                            );
                        }
                    }


                    if (ButtonText == "Посещения")
                    {
                        f2.ClearLayoutPanel();
                        bool Empty = true;
                        foreach (Visit visit in ct.Visits.ToList())
                        {
                            try
                            {
                                UserControlVisits item = new UserControlVisits()
                                {
                                    Date         = visit.DateOfVisit.ToString(),
                                    NumberOfClub = visit.NumberOfClub.ToString(),
                                    CardName     = visit.CardName.ToString(),
                                    ContarctId   = visit.ContractId.ToString(),
                                    CName        = ct.Visitors
                                                   .ToList()
                                                   .FirstOrDefault(x => x.CardNumber == visit.CardNumber).VisitorSecondName
                                };
                                Empty = false;
                                panel.Controls.Add(item);
                            }
                            catch (Exception ex)
                            {
                                throw new NullReferenceException(ex.Message);
                            }
                        }
                        if (Empty)
                        {
                            panel.Controls
                            .Add
                            (
                                new UserControlGuestVisit()
                            {
                                TextMessage      = "Посещений нет",
                                ClearSecondLabel = ""
                            }
                            );
                        }
                    }


                    if (ButtonText == "Заявки на гостевой визит")
                    {
                        string line;
                        f2.ClearLayoutPanel();
                        System.IO.StreamReader file =
                            new System.IO.StreamReader("Applications.txt");
                        while ((line = file.ReadLine()) != null)
                        {
                            UserControlApp app = new UserControlApp()
                            {
                                Date       = line.Split(' ')[0] + ' ' + line.Split(' ')[1],
                                Number     = line.Split(' ')[2],
                                NameClient = line.Split(' ')[3] + ' ' + line.Split(' ')[4]
                            };
                            panel.Controls.Add(app);
                        }
                        file.Close();
                    }
                }
            }
        }