private string GetClientId()
        {
            string clientId;

            switch (ClientIdType)
            {
            case ClientIdType.Phone:
                clientId = ClientPhone.ToString().Remove(0, 1);
                break;

            case ClientIdType.WmId:
                clientId = ClientWmId.ToString();
                break;

            case ClientIdType.Purse:
                clientId = ClientPurse.ToString();
                break;

            case ClientIdType.Email:
                clientId = ClientEmail.Address;
                break;

            default:
                throw new InvalidOperationException("ClientIdType=" + ClientIdType);
            }

            return(clientId);
        }
        public async Task <ErrorRepsonse <PhoneDto> > AddPhone(AddPhoneDto addPhoneDto)
        {
            var client = await _repository.GetById(addPhoneDto.objectId);

            var response = new ErrorRepsonse <PhoneDto>();

            if (client == null)
            {
                response.Errors.Add("Not.Found");
                return(response);
            }
            await _repository.LoadCollection(client, c => c.ClientPhones);

            if (client.ClientPhones.Any(c => c.Phone == addPhoneDto.Phone))
            {
                response.Errors.Add("Dublicate");
                return(response);
            }
            var clientPhone = new ClientPhone()
            {
                ClientId = client.Id,
                Phone    = addPhoneDto.Phone
            };

            client.ClientPhones.Add(clientPhone);
            await _repository.Update(client);

            response.Data = _mapper.Map <PhoneDto>(clientPhone);
            RemoveCash();
            return(response);
        }
        private Client AddNewClient(ClientForTransactionDto clientDto)
        {
            var client = new Client()
            {
                FullName   = clientDto.Name,
                Address    = clientDto.Address,
                CreatedBy  = _appSession.GetUserName(),
                BranchId   = BranchHelper.Id,
                ClientType = ClientType.Normal
            };

            _unitOfWork.GenericRepository <Client>().Insert(client);
            if (!string.IsNullOrWhiteSpace(clientDto.Phone))
            {
                var clientPhone = new ClientPhone()
                {
                    Phone     = clientDto.Phone,
                    Client    = client,
                    CreatedBy = _appSession.GetUserName()
                };

                _unitOfWork.GenericRepository <ClientPhone>().Insert(clientPhone);
            }

            return(client);
        }
Example #4
0
        private void ReloadPhone(string phones, Client client)
        {
            List <ClientPhone> clientPhones = _context.Set <ClientPhone>().Where(c => c.ClientId == client.Id).ToList();

            if (phones != null && phones != "")
            {
                var e = phones.Split(',');
                foreach (ClientPhone clientPhone1 in clientPhones)
                {
                    string phone = e.FirstOrDefault(p => Regex.Replace(p, @"[^0-9]", "") == clientPhone1.Phone);
                    if (phone == null)
                    {
                        _context.Set <Data.Entities.Clients.ClientPhone>().Remove(clientPhone1);
                    }
                }
                foreach (var phone in e)
                {
                    string      newPhone    = Regex.Replace(phone, @"[^0-9]", "");
                    ClientPhone clientPhone = clientPhones.FirstOrDefault(c => (c.ClientId == client.Id) && (c.Phone != null && (c.Phone == newPhone || c.Phone == newPhone.Substring(1) || c.Phone == newPhone.Substring(2))));

                    if (clientPhone == null)
                    {
                        clientPhone = new ClientPhone()
                        {
                            Client = client,
                            Phone  = newPhone,
                        };
                        //if (newPhone.Length == 10)
                        //{
                        //}
                        //else if (newPhone.Length == 11)
                        //{
                        //    newPhone = newPhone.Substring(1);
                        //    clientPhone = new ClientPhone()
                        //    {
                        //        Client = client,
                        //        Phone = newPhone,
                        //    };
                        //}
                        //else if (newPhone.Length == 12)
                        //{
                        //    newPhone = newPhone.Substring(2);
                        //    clientPhone = new ClientPhone()
                        //    {
                        //        Client = client,
                        //        Phone = newPhone,
                        //    };
                        //}
                        _context.Set <ClientPhone>().Add(clientPhone);
                    }
                    _context.SaveChanges();
                }
            }
            else
            {
                _context.Set <Data.Entities.Clients.ClientPhone>().RemoveRange(_context.Set <Data.Entities.Clients.ClientPhone>().Where(c => c.ClientId == client.Id));
                _context.SaveChanges();
            }
        }
        public long SaveAddress(AddressInfoModel model, bool bIsNew)
        {
            var address = bIsNew ? new Entities.Address() : DbEntities.Address.Single(e => e.AddressId == model.AddressId);

            var phoneToAdd = new ClientPhone {
                ClientPhoneId = model.PrimaryPhone.PhoneId
            };

            DbEntities.ClientPhone.Attach(phoneToAdd);

            for (var i = address.ClientPhone.Count - 1; i >= 0; i--)
            {
                var phone = address.ClientPhone.ElementAt(i);
                address.ClientPhone.Remove(phone);
            }

            address.ClientPhone.Add(phoneToAdd);

            if (model.Country != null && model.Country.IdKey != null)
            {
                address.CountryId = (int)model.Country.IdKey.Value;
            }
            if (model.RegionA != null && model.RegionA.IdKey != null)
            {
                address.RegionArId = (int)model.RegionA.IdKey.Value;
            }
            if (model.RegionB != null && model.RegionB.IdKey != null)
            {
                address.RegionBrId = (int)model.RegionB.IdKey.Value;
            }
            if (model.RegionC != null && model.RegionC.IdKey != null)
            {
                address.RegionCrId = (int)model.RegionC.IdKey.Value;
            }
            if (model.RegionD != null && model.RegionD.IdKey != null)
            {
                address.RegionDrId = (int)model.RegionD.IdKey.Value;
            }

            address.ExtIntNumber = model.ExtIntNumber;
            address.MainAddress  = model.MainAddress;
            address.Reference    = model.Reference;
            if (model.ZipCode.IdKey != null)
            {
                address.ZipCodeId = (int)model.ZipCode.IdKey.Value;
            }
            address.IsMap = false;

            if (bIsNew)
            {
                DbEntities.Address.Add(address);
            }
            DbEntities.SaveChanges();

            return(address.AddressId);
        }
Example #6
0
        public void RemoveRelPhoneAddress(AddressPhoneModel model)
        {
            var address = new Entities.Address {
                AddressId = model.AddressId
            };
            var phone = new ClientPhone {
                ClientPhoneId = model.AddressPhoneId
            };

            address.ClientPhone.Add(phone);
            DbEntities.Address.Attach(address);
            address.ClientPhone.Remove(phone);
            DbEntities.SaveChanges();
        }
Example #7
0
        public void RemoveRelPhoneClient(ClientPhoneModel model)
        {
            var client = new Entities.Client {
                ClientId = model.ClientId
            };
            var phone = new ClientPhone {
                ClientPhoneId = model.ClientPhoneId
            };

            client.ClientPhone.Add(phone);
            DbEntities.Client.Attach(client);
            client.ClientPhone.Remove(phone);
            DbEntities.SaveChanges();
        }
Example #8
0
        public PhoneModel SavePhone(PhoneModel model)
        {
            var entity = new ClientPhone
            {
                Phone       = model.Phone,
                UserIdIns   = AccountRepository.GetIdByUsername(model.Username, DbEntities),
                DatetimeIns = DateTime.Now
            };

            DbEntities.ClientPhone.Add(entity);
            DbEntities.SaveChanges();
            model.PhoneId = entity.ClientPhoneId;
            DbEntities.Entry(entity).State = EntityState.Detached;
            return(model);
        }
Example #9
0
        public long SaveClient(ClientInfoModel model, bool bIsNew)
        {
            var client = bIsNew ? new Entities.Client() : DbEntities.Client.Single(e => e.ClientId == model.ClientId);

            var phoneToAdd = new ClientPhone {
                ClientPhoneId = model.PrimaryPhone.PhoneId
            };
            ClientPhone phoneSecToAdd = null;

            DbEntities.ClientPhone.Attach(phoneToAdd);

            if (model.SecondPhone != null)
            {
                phoneSecToAdd = new ClientPhone {
                    ClientPhoneId = model.SecondPhone.PhoneId
                };
                DbEntities.ClientPhone.Attach(phoneSecToAdd);
            }

            for (var i = client.ClientPhone.Count - 1; i >= 0; i--)
            {
                var phone = client.ClientPhone.ElementAt(i);
                client.ClientPhone.Remove(phone);
            }

            client.ClientPhone.Add(phoneToAdd);
            if (phoneSecToAdd != null)
            {
                client.ClientPhone.Add(phoneSecToAdd);
            }

            client.LoyaltyCode = model.LoyaltyCode;
            client.BirthDate   = model.BirthDate;
            client.CompanyId   = model.CompanyId;
            client.Email       = model.Email;
            client.FirstName   = model.FirstName;
            client.LastName    = model.LastName;

            if (bIsNew)
            {
                client.DatetimeIns = DateTime.Now;
                DbEntities.Client.Add(client);
            }
            DbEntities.SaveChanges();

            return(client.ClientId);
        }
Example #10
0
 private void loadClientPhones(long iD)
 {
     try
     {
         ClientPhone phone = new ClientPhone();
         phone.Where.ClientID.Value = iD;
         phone.Where.Active.Value   = true;
         if (phone.Query.Load())
         {
             RPT_ContactPhone.DataSource = phone.DefaultView;
             RPT_ContactPhone.DataBind();
         }
     }
     catch (Exception ex)
     {
         LBL_MSG.Visible = true;
         LBL_MSG.Text    = "loadClientPhones:" + ex.Message;
     }
 }
Example #11
0
 private void button3_Click(object sender, EventArgs e)
 {
     ClientName.Clear();
     ClientSurname.Clear();
     ClientPatronymic.Clear();
     ClientPhone.Clear();
     HouseBox.Clear();
     StreetBox.Clear();
     CityBox.Clear();
     FlatBox.Clear();
     CategoryBox.Text     = "";
     ProductBox.Text      = "";
     ServiceType.Text     = "";
     numericUpDown1.Value = 1;
     CostBox.Clear();
     PreCost.Clear();
     dataGridView1.Rows.Clear();
     dateTimePicker2.Value = dateTimePicker1.Value;
 }
        public long SaveAddressMap(AddressInfoModel model, bool bIsNew)
        {
            var address = bIsNew ? new Entities.Address() : DbEntities.Address.Single(e => e.AddressId == model.AddressId);

            var phoneToAdd = new ClientPhone {
                ClientPhoneId = model.PrimaryPhone.PhoneId
            };

            DbEntities.ClientPhone.Attach(phoneToAdd);

            for (var i = address.ClientPhone.Count - 1; i >= 0; i--)
            {
                var phone = address.ClientPhone.ElementAt(i);
                address.ClientPhone.Remove(phone);
            }

            address.ClientPhone.Add(phoneToAdd);

            address.CountryName  = model.Country.Value;
            address.RegionNameA  = model.RegionA.Value;
            address.RegionNameB  = model.RegionB.Value;
            address.RegionNameC  = model.RegionC.Value;
            address.RegionNameD  = model.RegionD.Value;
            address.ZipCodeValue = model.ZipCode.Value;

            address.PlaceId = model.PlaceId;
            address.Lat     = model.Lat;
            address.Lng     = model.Lng;

            address.ExtIntNumber = model.ExtIntNumber;
            address.MainAddress  = model.MainAddress;
            address.Reference    = model.Reference;
            address.IsMap        = true;

            if (bIsNew)
            {
                DbEntities.Address.Add(address);
            }
            DbEntities.SaveChanges();

            return(address.AddressId);
        }
        private Client UpdateClient(ClientForTransactionDto clientDto)
        {
            var client = _unitOfWork.GenericRepository <Client>().GetById(clientDto.Id);

            client.Address = clientDto.Address;
            if (!client.ClientPhones.Any(c => c.Phone == clientDto.Phone))
            {
                if (!string.IsNullOrWhiteSpace(clientDto.Phone))
                {
                    var clientPhone = new ClientPhone()
                    {
                        Phone     = clientDto.Phone,
                        ClientId  = clientDto.Id,
                        CreatedBy = _appSession.GetUserName()
                    };

                    _unitOfWork.GenericRepository <ClientPhone>().Insert(clientPhone);
                }
            }

            _unitOfWork.GenericRepository <Client>().Update(client);

            return(client);
        }
Example #14
0
        public async Task <IActionResult> Update([FromBody] CUpdateClientDto updateClientDto)
        {
            try
            {
                var client = await this._context.Clients.FindAsync(AuthoticateUserId());

                var clientName     = client.Name;
                var clientUserName = client.UserName;
                var oldPassword    = client.Password;
                client          = _mapper.Map <CUpdateClientDto, Client>(updateClientDto, client);
                client.Name     = clientName;
                client.UserName = clientUserName;

                if (client.Password == "")
                {
                    client.Password = oldPassword;
                }
                this._context.Update(client);
                this._context.Entry(client).Collection(c => c.ClientPhones).Load();
                client.ClientPhones.Clear();
                if (updateClientDto.Phones != null)
                {
                    foreach (var item in updateClientDto.Phones)
                    {
                        var clientPhone = new ClientPhone()
                        {
                            ClientId = AuthoticateUserId(),
                            Phone    = item,
                        };
                        this._context.Add(clientPhone);
                    }
                }

                bool isEditRequest = clientName != updateClientDto.Name || clientUserName != updateClientDto.UserName;
                if (isEditRequest)
                {
                    EditRequest editRequest = new EditRequest();
                    if (clientName != updateClientDto.Name)
                    {
                        editRequest.OldName = clientName;
                        editRequest.NewName = updateClientDto.Name;
                    }
                    if (clientUserName != updateClientDto.UserName)
                    {
                        editRequest.OldUserName = clientUserName;
                        editRequest.NewUserName = updateClientDto.UserName;
                    }
                    editRequest.Accept   = null;
                    editRequest.ClientId = AuthoticateUserId();
                    editRequest.UserId   = null;
                    this._context.Add(editRequest);
                }
                await this._context.SaveChangesAsync();

                if (isEditRequest)
                {
                    var newEditRquests = await this._context.EditRequests.Where(c => c.Accept == null).CountAsync();

                    var adminNotification = new AdminNotification()
                    {
                        NewEditRquests = newEditRquests,
                    };
                    await _notificationHub.AdminNotifcation(adminNotification);
                }
                return(Ok());
            }
            catch (Exception ex)
            {
                return(BadRequest(new { message = "خطأ بالتعديل ", Ex = ex.Message }));
            }
        }
Example #15
0
        /// <summary>
        /// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        /// EXAMPLE
        /// </summary>
        /// <param name="apiPhoneNumber"></param>

        public JsonResult CollectPhoneStatus(string apiPhoneNumber, int organizationID)
        {
            // These values dont reside in the function in the service but are here to support the example
            string apiCompany = "notify";
            //string apiUsername = "******";
            //string apiPassword = "******";

            SMSAccount  sms   = db.GetSMSAccount(organizationID);
            ClientPhone Phone = null;

            if (apiPhoneNumber.Length != 10)
            {
                return(Json(Phone, JsonRequestBehavior.AllowGet));
            }

            HttpClient  apiReq         = new HttpClient();
            XmlDocument apiResponseXML = new XmlDocument();

            string apiURL = "https://api.data24-7.com/v/2.0";

            apiURL += "?compcode=" + apiCompany + "&user="******"&pass="******"&api=T&p1=" + apiPhoneNumber;

            //https://api.data24-7.com/v/2.0?compcode=notify&user=notifyhealth_cpc001&pass=6U7gQ458wGUNKm2tS6&api=T&p1=7194257147
            try
            {
                apiResponseXML.Load(apiURL);
            }
            catch (Exception e)
            {
                e.Message.ToString();
            }

            XmlElement  root  = apiResponseXML.DocumentElement;
            XmlNodeList nodes = root.SelectNodes("/response/results/result");

            //D247_INVALID_PHONE1234567891

            foreach (XmlNode node in nodes)
            {
                Phone = new ClientPhone
                {
                    Number         = apiPhoneNumber,
                    PhoneCarrier   = node["carrier_name"].InnerText,
                    MessageAddress = node["sms_address"].InnerText,
                    Wireless       = node["wless"].InnerText,
                    Status         = node["status"].InnerText
                };
            }

            if (Phone.Status == "OK")
            {
                Phone.PStatusId = 2;
            }
            else
            {
                Phone.PStatusId = 1;
            }

            if (Phone.Wireless == "y")
            {
                if (string.IsNullOrEmpty(Phone.MessageAddress))
                {
                    Phone.ParticipationId    = 11;
                    TempData["alertMessage"] = "Popup warning that given phone number CANNOT BE USED to send messages but client will be saved.";
                    Phone.Warning            = "Popup warning that given phone number CANNOT BE USED to send messages but client will be saved.";
                }
                //  Submit button creates client account or updates user record but DO NOT INSERT into queue table
                else
                {
                    Phone.ParticipationId    = 12;
                    TempData["alertMessage"] = "Submit button inserts new record into Queue table and adds record to clients table";
                    Phone.Warning            = "Submit button inserts new record into Queue table and adds record to clients table";
                }
                //

                // ASK FOR TEST DATA API TEST
            }
            else
            {
                Phone.ParticipationId    = 8;
                TempData["alertMessage"] = "Popup warning that given phone number is NOT A WIRELESS PHONE NUMBER AND CANNOT BE USED to send messages but client will be saved";
                Phone.Warning            = "Popup warning that given phone number is NOT A WIRELESS PHONE NUMBER AND CANNOT BE USED to send messages but client will be saved";

                //Submit button creates client account or updates user record but DO NOT INSERT into queue table
            }

            apiReq.Dispose();
            return(Json(Phone, JsonRequestBehavior.AllowGet));
        }
Example #16
0
        private void CreateNewClient(Background.SyncRonService.Model.Contragent.Client client)
        {
            var userInfos = _context.Set <UserInfo>()
                            .Where(x => x.UserId != 1 && x.UserId != 11)
                            .ToList();

            if (client != null)
            {
                NumberOfCalls numberOfCalls = client.Periodichnost_Zvonkov == "0" ? NumberOfCalls.WithoutType : client.Periodichnost_Zvonkov == "10" ? NumberOfCalls.OnePerMonth : client.Periodichnost_Zvonkov == "20"
                            ? NumberOfCalls.OnePerTwoWeek : client.Periodichnost_Zvonkov == "30" ? NumberOfCalls.ThreePerMonth : client.Periodichnost_Zvonkov == "40" ? NumberOfCalls.OnePerWeek : client.Periodichnost_Zvonkov == "50" ?
                                              NumberOfCalls.FivePerMonth : client.Periodichnost_Zvonkov == "60" ? NumberOfCalls.SixPerMonth : client.Periodichnost_Zvonkov == "90" ? NumberOfCalls.TwoPerWeek : NumberOfCalls.WithoutType;

                NumberOfShipments numberOfShipments = client.Periodichnost_Otgruzok == "0" ? NumberOfShipments.WithoutType : client.Periodichnost_Zvonkov == "10" ? NumberOfShipments.OnePerMonth : client.Periodichnost_Zvonkov == "20"
                   ? NumberOfShipments.OnePerTwoWeek : client.Periodichnost_Zvonkov == "30" ? NumberOfShipments.ThreePerMonth : client.Periodichnost_Zvonkov == "40" ? NumberOfShipments.OnePerWeek : client.Periodichnost_Zvonkov == "50" ?
                                                      NumberOfShipments.FivePerMonth : client.Periodichnost_Zvonkov == "60" ? NumberOfShipments.SixPerMonth : client.Periodichnost_Zvonkov == "90" ? NumberOfShipments.TwoPerWeek : NumberOfShipments.WithoutType;
                ClientGroup clientGroup = ClientGroup.NewOrReanimated;

                if (this.client1 != null)
                {
                    numberOfCalls     = this.client1.NumberOfCalls;
                    numberOfShipments = this.client1.NumberOfShipments;
                    clientGroup       = this.client1.Group;
                }

                Data.Entities.Clients.Client client1 = _context.Set <Client>()
                                                       .Add(new Client(new ClientCreate()
                {
                    ClientType        = ClientTypes.Middle1,
                    Title             = client.Contragent,
                    LegalEntity       = client.Contragent_NameFull,
                    NumberOfCalls     = numberOfCalls,
                    NumberOfShipments = numberOfShipments,
                    Group             = clientGroup
                })).Entity;
                client1.IsAcctive = true;
                _context.Set <Client>().Add(client1);
                _context.SaveChanges();
                ClientInfo clientInfo = _context.Set <ClientInfo>()
                                        .Add(new ClientInfo(client1.Id, Guid.Parse(client.Contragent_ID), client.Phones)).Entity;
                _context.SaveChanges();
                if (client.GR_Contragent != "" && _context.Set <ClientGR>().FirstOrDefault(c => c.NameGr == client.GR_Contragent) == null)
                {
                    _context.Set <ClientGR>().Add(new ClientGR()
                    {
                        Clients = new List <Data.Entities.Clients.Client>()
                        {
                            client1
                        },
                        NameGr = client.GR_Contragent
                    });
                }
                else if (client.GR_Contragent != "")
                {
                    _context.Set <ClientGR>().FirstOrDefault(c => c.NameGr == client.GR_Contragent).Clients.Add(client1);
                }
                _context.SaveChanges();
                if (client.Manager_ID != null && client.Manager_ID != "")
                {
                    var managersGuidStr = client.Manager_ID.Split(',');
                    var managersGuid    = new List <Guid>();
                    foreach (var str in managersGuidStr)
                    {
                        try
                        {
                            managersGuid.Add(Guid.Parse(str));
                        }
                        catch
                        {
                        }
                    }
                    foreach (Guid guid in managersGuid)
                    {
                        var userInfo = userInfos.FirstOrDefault(x => x.OneCId == guid);
                        if (userInfo != null)
                        {
                            var workGroup = _context.Set <WorkGroup>()
                                            .FirstOrDefault(x => x.RegionalManagerId == userInfo.UserId ||
                                                            x.EscortManagerId == userInfo.UserId);
                            if (workGroup != null && workGroup.Clients.FirstOrDefault(c => c.ClientId == clientInfo.ClientId) == null)
                            {
                                workGroup.BindClient(new BindClient()
                                {
                                    ClientId    = client1.Id,
                                    WorkgroupId = workGroup.Id
                                });
                            }
                        }
                    }
                }
                _context.SaveChanges();
                if (client.Phones != null && client.Phones != "")
                {
                    var e            = client.Phones.Split(',');
                    var clientPhones = _context.Set <ClientPhone>().Where(c => c.ClientId == clientInfo.ClientId);
                    foreach (var phone in e)
                    {
                        string newPhone = Regex.Replace(phone, @"[^0-9]", "");
                        if (clientPhones == null || clientPhones.FirstOrDefault(c => c.Phone != null && (c.Phone == newPhone || c.Phone == newPhone.Substring(1) || c.Phone == newPhone.Substring(2))) == null)
                        {
                            ClientPhone clientPhone = new ClientPhone()
                            {
                                Client = client1,
                                Phone  = newPhone,
                            };
                            //if (newPhone.Length == 10)
                            //{
                            //}
                            //else if (newPhone.Length == 11)
                            //{
                            //    newPhone = newPhone.Substring(1);
                            //    clientPhone = new ClientPhone()
                            //    {
                            //        Client = client1,
                            //        Phone = newPhone,
                            //    };
                            //}
                            //else if (newPhone.Length == 12)
                            //{
                            //    newPhone = newPhone.Substring(2);
                            //    clientPhone = new ClientPhone()
                            //    {
                            //        Client = client1,
                            //        Phone = newPhone,
                            //    };
                            //}
                            _context.Set <ClientPhone>().Add(clientPhone);
                            _context.SaveChanges();
                        }
                    }
                }
            }
        }
Example #17
0
 void AddPhone(ClientPhone phone)
 {
     client.ClientPhone.Add(phone);
     OnPropertyChanged(nameof(Phones));
 }
Example #18
0
        private async void CreateClient(List <Model.Contragent.Client> clients)
        {
            //_context.Set<Data.Entities.OneCInfo.ClientInfo>().RemoveRange(_context.Set<Data.Entities.OneCInfo.ClientInfo>());
            //_context.Set<Data.Entities.Clients.Client>().RemoveRange(_context.Set<Data.Entities.Clients.Client>());
            //_context.Set<Data.Entities.Clients.ClientPhone>().RemoveRange(_context.Set<Data.Entities.Clients.ClientPhone>());
            //_context.Set<Data.Entities.Clients.ClientGR>().RemoveRange(_context.Set<Data.Entities.Clients.ClientGR>());
            //_context.SaveChanges();
            int i = 0;
            //clients.RemoveRange(0, 800);
            var userInfos = _context.Set <Data.Entities.OneCInfo.UserInfo>()
                            .ToList();

            foreach (Model.Contragent.Client client in clients)
            {
                i++;
                File.WriteAllText("i.txt", i.ToString());
                try
                {
                    ClientInfo clientInfo1 = _context.Set <ClientInfo>().FirstOrDefault(c => c.OneCId.ToString() == client.Contragent_ID);
                    Data.Entities.Clients.Client client1 = _context.Set <Data.Entities.Clients.Client>().FirstOrDefault(c => clientInfo1 != null && clientInfo1.ClientId == c.Id);
                    if (client1 == null)
                    {
                        NumberOfCalls numberOfCalls = client.Periodichnost_Zvonkov == "0" ? NumberOfCalls.WithoutType : client.Periodichnost_Zvonkov == "10" ? NumberOfCalls.OnePerMonth : client.Periodichnost_Zvonkov == "20"
                            ? NumberOfCalls.OnePerTwoWeek : client.Periodichnost_Zvonkov == "30" ? NumberOfCalls.ThreePerMonth : client.Periodichnost_Zvonkov == "40" ? NumberOfCalls.OnePerWeek : client.Periodichnost_Zvonkov == "50" ?
                                                      NumberOfCalls.FivePerMonth : client.Periodichnost_Zvonkov == "60" ? NumberOfCalls.SixPerMonth : client.Periodichnost_Zvonkov == "90" ? NumberOfCalls.TwoPerWeek : NumberOfCalls.WithoutType;

                        NumberOfShipments numberOfShipments = client.Periodichnost_Otgruzok == "0" ? NumberOfShipments.WithoutType : client.Periodichnost_Zvonkov == "10" ? NumberOfShipments.OnePerMonth : client.Periodichnost_Zvonkov == "20"
                           ? NumberOfShipments.OnePerTwoWeek : client.Periodichnost_Zvonkov == "30" ? NumberOfShipments.ThreePerMonth : client.Periodichnost_Zvonkov == "40" ? NumberOfShipments.OnePerWeek : client.Periodichnost_Zvonkov == "50" ?
                                                              NumberOfShipments.FivePerMonth : client.Periodichnost_Zvonkov == "60" ? NumberOfShipments.SixPerMonth : client.Periodichnost_Zvonkov == "90" ? NumberOfShipments.TwoPerWeek : NumberOfShipments.WithoutType;

                        client1 = _context.Set <Data.Entities.Clients.Client>()
                                  .Add(new Data.Entities.Clients.Client(new ClientCreate()
                        {
                            ClientType        = ClientTypes.Middle1,
                            Title             = client.Contragent,
                            LegalEntity       = client.Contragent_NameFull,
                            NumberOfCalls     = numberOfCalls,
                            NumberOfShipments = numberOfShipments,
                            Group             = ClientGroup.NewOrReanimated
                        })).Entity;
                        client1.IsAcctive = true;
                        _context.Set <Data.Entities.Clients.Client>().Add(client1);
                        _context.SaveChanges();
                        clientInfo1 = _context.Set <ClientInfo>()
                                      .Add(new ClientInfo(client1.Id, Guid.Parse(client.Contragent_ID), client.Phones)).Entity;
                        await _context.SaveChangesAsync();

                        if (client.GR_Contragent != "" && _context.Set <ClientGR>().FirstOrDefault(c => c.NameGr == client.GR_Contragent) == null)
                        {
                            _context.Set <ClientGR>().Add(new ClientGR()
                            {
                                Clients = new List <Data.Entities.Clients.Client>()
                                {
                                    client1
                                },
                                NameGr = client.GR_Contragent
                            });
                        }
                        else if (client.GR_Contragent != "")
                        {
                            _context.Set <ClientGR>().FirstOrDefault(c => c.NameGr == client.GR_Contragent).Clients.Add(client1);
                        }
                        await _context.SaveChangesAsync();

                        if (client.Manager_ID != null && client.Manager_ID != "")
                        {
                            var managersGuidStr = client.Manager_ID.Split(',');
                            var managersGuid    = new List <Guid>();
                            foreach (var str in managersGuidStr)
                            {
                                try
                                {
                                    managersGuid.Add(Guid.Parse(str));
                                }
                                catch
                                {
                                }
                            }
                            foreach (Guid guid in managersGuid)
                            {
                                var userInfo = userInfos.FirstOrDefault(x => x.OneCId == guid);
                                if (userInfo != null)
                                {
                                    var workGroup = _context.Set <WorkGroup>()
                                                    .FirstOrDefault(x => x.RegionalManagerId == userInfo.UserId ||
                                                                    x.EscortManagerId == userInfo.UserId);
                                    if (workGroup != null && workGroup.Clients.FirstOrDefault(c => c.ClientId == clientInfo1.ClientId) == null)
                                    {
                                        workGroup.BindClient(new BindClient()
                                        {
                                            ClientId    = client1.Id,
                                            WorkgroupId = workGroup.Id
                                        });
                                    }
                                }
                            }
                            await _context.SaveChangesAsync();
                        }
                        if (client.Phones != null && client.Phones != "")
                        {
                            var e            = client.Phones.Split(',');
                            var clientPhones = _context.Set <ClientPhone>().Where(c => c.ClientId == clientInfo1.ClientId);
                            foreach (var phone in e)
                            {
                                string newPhone = Regex.Replace(phone, @"[^0-9]", "");
                                if (clientPhones == null || clientPhones.FirstOrDefault(c => c.Phone != null && (c.Phone == newPhone || c.Phone == newPhone.Substring(1) || c.Phone == newPhone.Substring(2))) == null)
                                {
                                    ClientPhone clientPhone = null;
                                    clientPhone = new ClientPhone()
                                    {
                                        Client = client1,
                                        Phone  = newPhone,
                                    };
                                    if (clientPhone != null)
                                    {
                                        _context.Set <ClientPhone>().Add(clientPhone);
                                    }
                                    await _context.SaveChangesAsync();
                                }
                                else
                                {
                                }
                            }
                        }
                        else
                        {
                        }
                    }
                }
                catch (Exception e)
                {
                }
            }
        }