public async Task <IActionResult> CheckQRcode(String qrText)
        {
            if (qrText != null && qrText != "")
            {
                ServiceFriends serviceFriends = new ServiceFriends();

                Friend friendUpdate = null;
                try
                {
                    friendUpdate            = serviceFriends.FindUserByQRtext(qrText);
                    friendUpdate.Voter      = true;
                    friendUpdate.VotingDate = DateTime.Now.Date;
                }
                catch (Exception ex)
                {
                    return(Ok("Пользователь не найден."));
                }

                try
                {
                    await serviceFriends.SaveFriends(friendUpdate);

                    return(Ok("<h4>" + friendUpdate.Name + " " + friendUpdate.PatronymicName + ", поздравляем, Вы зарегистрированы как участник розыгрыша!" + "</h4>"));
                }
                catch (Exception ex)
                {
                    return(Ok("<h4>Не удалось сохранить данные. Обратитесь к администратору!</h4>" + " " + ex.ToString()));
                }
            }
            else
            {
                return(Ok("<h4>Ошибка QR-кода. QR-код не содержет индификатора пользователя.</h4>"));
            }
        }
        public async Task <IActionResult> CheckPhoneNumber(String phoneNumber)
        {
            if (phoneNumber != null && phoneNumber != "")
            {
                ServiceFriends serviceFriends = new ServiceFriends();

                string clearPhoneNumber = ServicePhoneNumber.LeaveOnlyNumbers(phoneNumber);
                Friend friendUpdate     = null;
                try
                {
                    friendUpdate            = serviceFriends.FindUserByPhoneNumber(clearPhoneNumber);
                    friendUpdate.Voter      = true;
                    friendUpdate.VotingDate = DateTime.Now.Date;
                }
                catch (Exception ex)
                {
                    return(Ok("Пользователь не найден."));
                }

                try
                {
                    await serviceFriends.SaveFriends(friendUpdate);

                    return(Ok("<h4>" + friendUpdate.Name + " " + friendUpdate.PatronymicName + ", поздравляем, Вы зарегистрированы как участник розыгрыша!" + "</h4>"));
                }
                catch (Exception ex)
                {
                    return(Ok("<h4>Не удалось сохранить данные. Обратитесь к администратору!</h4>" + " " + ex.ToString()));
                }
            }
            else
            {
                return(Ok("<h4>Ошибка. Запрос не содержет номера телефона.</h4>"));
            }
        }
        public void CheckMasjsonqrcode(string[] qrCodeDTOs)
        {
            if (qrCodeDTOs.Length > 0)
            {
                ServiceFriends serviceFriends = new ServiceFriends();

                foreach (string qrcode in qrCodeDTOs)
                {
                    if (qrcode != null && qrcode != "")
                    {
                        Friend friendUpdate;
                        try
                        {
                            friendUpdate            = serviceFriends.FindUserByQRtext(qrcode);
                            friendUpdate.Voter      = true;
                            friendUpdate.VotingDate = DateTime.Now.Date;
                        }
                        catch (Exception ex)
                        {
                            continue;
                        }

                        try
                        {
                            serviceFriends.SaveFriends(friendUpdate);
                        }
                        catch (Exception ex)
                        {
                            continue;
                        }
                    }
                }
            }
        }
        public void CheckMasjsonPhonenumber(string[] phoneNumberDTOs)
        {
            if (phoneNumberDTOs.Length > 0)
            {
                ServiceFriends serviceFriends = new ServiceFriends();

                foreach (string phoneNumber in phoneNumberDTOs)
                {
                    string clearPhoneNumber = ServicePhoneNumber.LeaveOnlyNumbers(phoneNumber);
                    Friend friendUpdate;
                    try
                    {
                        friendUpdate            = serviceFriends.FindUserByPhoneNumber(clearPhoneNumber);
                        friendUpdate.Voter      = true;
                        friendUpdate.VotingDate = DateTime.Now.Date;
                    }
                    catch (Exception ex)
                    {
                        continue;
                    }

                    try
                    {
                        serviceFriends.SaveFriends(friendUpdate);
                    }
                    catch (Exception ex)
                    {
                        continue;
                    }
                }
            }
            else
            {
            }
        }
        public async Task <bool> CheckQrCode(string qrCodes, DateTime dateTime, ServiceFriends serviceFriends)
        {
            Friend friendUpdate;

            try
            {
                friendUpdate            = serviceFriends.FindUserByQRtext(qrCodes);
                friendUpdate.Voter      = true;
                friendUpdate.VotingDate = dateTime;
            }
            catch
            {
                return(false);
            }

            try
            {
                await serviceFriends.SaveFriends(friendUpdate);

                return(true);
            }
            catch
            {
                return(false);
            }
        }
Exemple #6
0
 public FriendsController(VoterCollectorContext context, ILogger <FriendsController> logger)
 {
     _logger    = logger;
     _context   = context;
     NameServer = "http://оренбургвсе.рф";
     //WayController = "/CollectVoters/api/QRcodeСheckAPI/checkqrcode";
     WayController       = "/api/QRcodeСheckAPI/checkqrcode";
     NameQRcodeParametrs = "qrText";
     _serviceUser        = new ServiceUser(context);
     ServiceFriends      = new ServiceFriends();
     WayPathQrCodes      = "wwwroot/qr_codes/";
 }
        public ReportQrCodeExchange CheckQrCodes(ResponseMessageDataQRCodeSuccessfully dataQRcodes)
        {
            ReportQrCodeExchange reportQrCodeExchange = new ReportQrCodeExchange
            {
                status = dataQRcodes.status,
                error  = dataQRcodes.error,
                numberReceivedCodes = dataQRcodes.items.Count,
                dateTimeRequest     = dataQRcodes.date.ToString(),
                notFoundQRcodes     = new List <Item>(),
                foundQRcodes        = new List <Item>()
            };

            int            numberMarkedCodes = 0;
            int            numberNotFound    = 0;
            ServiceFriends serviceFriends    = new ServiceFriends();

            foreach (KeyValuePair <string, string> keyValue in dataQRcodes.items)
            {
                if (keyValue.Key != null && keyValue.Key != "")
                {
                    DateTime dateTimeCheck;
                    try
                    {
                        dateTimeCheck = Convert.ToDateTime(keyValue.Value);
                    }
                    catch
                    {
                        dateTimeCheck = DateTime.UtcNow.AddHours(5);
                    }

                    if (CheckQrCode(keyValue.Key, dateTimeCheck, serviceFriends).Result)
                    {
                        numberMarkedCodes++;
                        reportQrCodeExchange.foundQRcodes.Add(new Item {
                            qrText = keyValue.Key, date = keyValue.Value
                        });
                    }
                    else
                    {
                        numberMarkedCodes++;
                        numberNotFound++;
                        reportQrCodeExchange.notFoundQRcodes.Add(new Item {
                            qrText = keyValue.Key, date = keyValue.Value
                        });
                    }
                }
            }
            reportQrCodeExchange.numberMarkedCodes = numberMarkedCodes;
            reportQrCodeExchange.numberNotFound    = numberNotFound;

            return(reportQrCodeExchange);
        }
Exemple #8
0
        public IActionResult UploadDataFromFile([FromBody] FriendDTO[] friendsDTO)
        {
            ServiceUser          serviceUser      = new ServiceUser(_context);
            List <Groupu>        groupsUser       = null;
            List <FileUploadDTO> notUploadRecords = new List <FileUploadDTO>();

            //User userSave = _context.User.Where(u => u.UserName.Equals(User.Identity.Name)).FirstOrDefault();

            User userSave = serviceUser.SearchUserByUserName(friendsDTO[1].LoginUsers);

            if (userSave != null)
            {
                groupsUser = serviceUser.GetGroupsUser(friendsDTO[1].LoginUsers);
            }
            else
            {
                return(NotFound("Пользователя с указанным логином не существует!"));
            }

            if (groupsUser.Count > 0)
            {
                ServiceFriends serviceFriends = new ServiceFriends();

                //Regex regexTelephone = new Regex(@"(^[+]{0,1}[0-9]{11})");
                Regex regexTelephone = new Regex(@"^\+?\d{11}$");

                DateTime dateRegistration = DateTime.Today;

                for (int i = 1; i < friendsDTO.Length; i++)
                {
                    try
                    {
                        friendsDTO[i].UserId = userSave.IdUser;
                        //Friend newFriend = CreateFreand(friendsDTO[i]);
                        //Friend newFriend = serviceFriends.CreateFreand(friendsDTO[i], regexTelephone, userSave, groupsUser, dateRegistration, _context);
                        Friend newFriend = serviceFriends.CreateFreandAbbreviatedVersion(friendsDTO[i], regexTelephone, userSave, groupsUser, dateRegistration, _context);

                        _context.Add(newFriend);
                    }
                    catch (Exception ex)
                    {
                        notUploadRecords.Add(new FileUploadDTO
                        {
                            NumberStrFile  = Convert.ToString(i + 1),
                            FamilyName     = friendsDTO[i].FamilyName,
                            Name           = friendsDTO[i].Name,
                            PatronymicName = friendsDTO[i].PatronymicName,
                            DateBirth      = friendsDTO[i].DateBirth,
                            CityName       = friendsDTO[i].CityDistrict,
                            Street         = friendsDTO[i].Street,
                            House          = friendsDTO[i].House,
                            ErrorUpload    = ex.ToString()
                        });
                    }
                }

                try
                {
                    _context.SaveChangesAsync();
                    return(Ok(notUploadRecords.ToArray()));
                }
                catch (Exception ex)
                {
                    int i = 0;
                    _logger.LogError(ex.ToString()); // .Exception(ex).Message("Ошибка записи в БД").Write();
                    notUploadRecords = friendsDTO.Select(x => new FileUploadDTO
                    {
                        NumberStrFile  = Convert.ToString(i++),
                        FamilyName     = x.FamilyName,
                        Name           = x.Name,
                        PatronymicName = x.PatronymicName,
                        DateBirth      = x.DateBirth,
                        CityName       = x.CityDistrict,
                        Street         = x.Street,
                        House          = x.House
                    }).ToList();
                    notUploadRecords.RemoveAt(0);
                    return(Ok(notUploadRecords.ToArray()));
                }
            }
            else
            {
                return(NotFound("Пользователь не добавлен не в одну из групп! Обратитесь к ответственному!"));
            }
        }
Exemple #9
0
 public TelegramBotController(VoterCollectorContext context, ILogger <TelegramBotController> logger)
 {
     _logger         = logger;
     _serviceFriends = new ServiceFriends();
 }
 public ServicesQRcodes()
 {
     serviceFriends = new ServiceFriends();
 }
Exemple #11
0
 public APIFriendsController(VoterCollectorContext context)
 {
     _context        = context;
     _serviceFriends = new ServiceFriends();
     _serviceUser    = new ServiceUser(context);
 }