Example #1
0
        private void AddRepairer()
        {
            FirstName = Trim(FirstName);
            LastName  = Trim(LastName);

            Contragent contragent = new Contragent {
                FirstName = FirstName, LastName = LastName
            };
            Repairer repairer = new Repairer {
                Contragent = contragent
            };

            try
            {
                _mainViewModel.Context.Repairers.Add(repairer);
                _mainViewModel.Context.SaveChanges();
            }
            catch (Exception e)
            {
                MessageBox.Show(("Не удалось добавить нового мастера"), "Error",
                                MessageBoxButton.OK, MessageBoxImage.Error);

                Logging.WriteToLog("Failed add new repairer" + e.Message);
            }

            _mainViewModel.RepairersViewModel.Update();

            _mainViewModel.RepairersViewModel.AddRepairerDialogViewModel = null;
        }
        private void AddSalesman()
        {
            FirstName = Trim(FirstName);
            LastName  = Trim(LastName);

            Contragent contragent = new Contragent {
                FirstName = FirstName, LastName = LastName
            };
            Salesman salesman = new Salesman {
                ProfitPercentage = ProfitPercentage, SalaryPerDay = SalaryPerDay, Login = Login, Contragent = contragent
            };

            try
            {
                _mainViewModel.Context.Salesmen.Add(salesman);
                _mainViewModel.Context.SaveChanges();
            }
            catch (Exception e)
            {
                MessageBox.Show(("Не удалось добавить нового продавца"), "Error",
                                MessageBoxButton.OK, MessageBoxImage.Error);

                Logging.WriteToLog("Failed add new salesman" + e.Message);
            }

            _mainViewModel.SalesmenViewModel.Update();
            _mainViewModel.SalesmenViewModel.AddSalesmanDialogViewModel = null;
        }
Example #3
0
 /// <summary>
 /// Кнопка добавление, реального добавления
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btn_add_add_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         using RegistrantCoreContext ef = new RegistrantCoreContext();
         Contragent contragent = new Contragent
         {
             Name        = tb_namecontragent.Text,
             ServiceInfo = $"{DateTime.Now} {App.ActiveUser} добавил контрагента",
             Active      = "1"
         };
         ef.Add(contragent);
         ef.SaveChanges();
         ContentAdd.Hide();
     }
     catch (Exception ex)
     {
         MainWindow mainWindow = (MainWindow)Application.Current.MainWindow;
         if (mainWindow != null)
         {
             mainWindow.ContentErrorText.ShowAsync();
             mainWindow.text_debuger.Text = ex.ToString();
         }
     }
 }
Example #4
0
 public void Update(Contragent contragent)
 {
     using (IDbConnection db = _connectionFactory.GetConnection)
     {
         var sqlQuery = "UPDATE Contragents SET INN = @INN, KPP = @KPP, Name = @Name WHERE Id = @Id";
         db.Execute(sqlQuery, contragent);
     }
 }
Example #5
0
        public ActionResult DeleteConfirmed(long id)
        {
            Contragent contragent = db.Contragent.Find(id);

            db.Contragent.Remove(contragent);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Example #6
0
        // public LegalNotActive() { }

        public LegalNotActive(ApplicationUser user, Contragent contragent) : base(user)
        {
            Subject   = LocalText.Inst.Get("emailSubject", this.ToString(), "Помилка при реєстрації юридичної особи", "Ошибка при регистрации юридического лица", user.Locale);
            Important = true;
            Company   = contragent.LongName;
            Comment   = contragent.ApprovingComment;
            Send      = IsSend(user);
            //SendMessage();
        }
Example #7
0
        // public LegalActive() { }

        public LegalActive(ApplicationUser user, Contragent contragent) : base(user)
        {
            Subject   = LocalText.Inst.Get("emailSubject ", this.ToString(), "Успiшна реєстрація юрдичної особи", "Успешная регистрация юридического лица");
            Important = true;
            Role      = isBuyerSeller(contragent.IsBuyer, contragent.IsSeller);
            Company   = contragent.LongName;
            Send      = IsSend(user);
            //SendMessage();
        }
Example #8
0
 public void Create(Contragent contragent)
 {
     using (IDbConnection db = _connectionFactory.GetConnection)
     {
         var sqlQuery = "INSERT INTO Contragents (INN, KPP, Name) VALUES(@INN, @KPP, @Name); SELECT CAST(SCOPE_IDENTITY() as int)";
         int Id       = db.Query <int>(sqlQuery, contragent).First();
         contragent.Id = Id;
     }
 }
 public ActionResult Edit([Bind(Include = "Id,RegionId,Name,OGRN,INN,KPP,OKPO,DateRegistr,Head,Telephon,Email,Site")] Contragent contragent)
 {
     if (ModelState.IsValid)
     {
         db.Entry(contragent).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(contragent));
 }
Example #10
0
 public ActionResult Edit(Contragent contragent)
 {
     if (ModelState.IsValid)
     {
         db.Entry(contragent).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(contragent));
 }
Example #11
0
        // GET: Document
        //public ActionResult Index()
        //{
        //    return View(contragentRepository.FindAll().ToList());
        //}

        public IActionResult Index()
        {
            organizations = organizationRepository.FindAll();
            individuals   = individualRepository.FindAll();
            Contragent ivm = new Contragent {
                Organization = organizations, Individual = individuals
            };


            return(View(ivm));
        }
        public ActionResult Create([Bind(Include = "Id,RegionId,Name,OGRN,INN,KPP,OKPO,DateRegistr,Head,Telephon,Email,Site")] Contragent contragent)
        {
            if (ModelState.IsValid)
            {
                db.Contragents.Add(contragent);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(contragent));
        }
Example #13
0
        public ActionResult Create(Contragent contragent)
        {
            if (ModelState.IsValid)
            {
                db.Contragent.Add(contragent);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.propList = db.Property.ToList();                   //id, name
            return(View(contragent));
        }
Example #14
0
 public ContragentDto(Contragent contragent, IEnumerable <Addresses> addresses,
                      IEnumerable <ContactPersons> contactPersons, IEnumerable <Employees> employees,
                      IEnumerable <DocumentFiles> files, AspNetUsers responsibleUser,
                      IEnumerable <UserDto> contragentUsers) : this(contragent)
 {
     Addresses       = addresses.Select(a => new AddressDto(a)).ToList();
     ContactPersons  = contactPersons.Select(c => new ContactPersonDto(c)).ToList();
     Employees       = employees.Select(e => new EmployeeDto(e)).ToList();
     ResponsibleUser = new UserDto(responsibleUser);
     Files           = files.Select(f => new DocumentFilesDto(f)).ToList();
     ContragentUsers = contragentUsers;
 }
Example #15
0
 public EditContragentForm(Contragent contragent)
 {
     InitializeComponent();
     this.contragent                = contragent;
     editContragentNameTE.Text      = contragent.Name;
     editContragentBulstatTE.Text   = contragent.Bulstat;
     editContragentVatnumberTE.Text = contragent.VatNumber;
     editContragentCityTE.Text      = contragent.City;
     editContragentAddressTE.Text   = contragent.Address;
     editContragentMrpTE.Text       = contragent.Mrp;
     editContragentPhoneTE.Text     = contragent.PhoneNumber;
     CheckUserInput();
 }
Example #16
0
        public ContragentDto(Contragent contragent)
        {
            Id            = contragent.CgtId;
            Name          = contragent.CgtName;
            LicenseNumber = contragent.CgtLicenseNumber;
            Inn           = contragent.CgtInn;
            Subscription  = contragent.CgtSubscription;
            Status        = contragent.CgtStatus;
            CreationDate  = contragent.CgtAuditCd;

            Employees       = new List <EmployeeDto>();
            ContragentUsers = new List <UserDto>();
        }
Example #17
0
        // GET: Contragents/Details/5
        public ActionResult Details(long?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Contragent contragent = db.Contragent.Find(id);

            if (contragent == null)
            {
                return(HttpNotFound());
            }
            return(View(contragent));
        }
        private void chooseContragentButton_Click(object sender, EventArgs e)
        {
            //избор на клиент
            selectContragentForm             = new SelectContragentForm();
            selectContragentForm.MaximizeBox = false;
            selectContragentForm.MinimizeBox = false;
            selectContragentForm.ShowDialog();

            if (SelectedContragent.contragent != null)
            {
                Contragent contragent = SelectedContragent.contragent;
                contragentNameLabel.Text = contragent.Name;
            }
        }
Example #19
0
        private void ValidateForm()
        {
            bool cValidName      = ValidateContragentName();
            bool cValidBulstat   = ValidateContragentBulstat();
            bool cValidVatNumber = ValidateContragentVatNumber();
            bool cValidCity      = ValidateContragentCity();
            bool cValidAdresss   = ValidateContragentAddress();
            bool cValidateMrp    = ValidateContragentMrp();
            bool cValidatePhone  = ValidateContragentPhoneNumber();

            if (cValidName && cValidBulstat && cValidVatNumber && cValidCity &&
                cValidAdresss && cValidateMrp && cValidatePhone)
            {
                var name = addContragentNameTE.Text;

                var bulstat = addContragentBulstatTE.Text;

                var vatNumber = addContragentVatNumberTE.Text;

                var city = addContragentCityTE.Text;

                var address = addContragentAddressTE.Text;

                var MRP = addContragentMrpTE.Text;

                var phoneNumber = addContragentPhoneNumberTE.Text;

                using (var db = new WereDesktopEntities())
                {
                    Contragent cont = new Contragent();
                    Guid       id   = Guid.NewGuid();

                    cont.ID          = id.ToString();
                    cont.Name        = name;
                    cont.Bulstat     = bulstat;
                    cont.VatNumber   = vatNumber;
                    cont.City        = city;
                    cont.Address     = address;
                    cont.Mrp         = MRP;
                    cont.PhoneNumber = phoneNumber;


                    db.Contragent.AddOrUpdate(cont);

                    db.SaveChanges();
                    this.Close();
                }
            }
        }
        public bool DeleteContragent([FromBody] int contragentId)
        {
            IRepository <Contragent> contragentsRepository = new ContragentsRepository();
            Contragent contragentEntity = contragentsRepository.Get(contragentId);

            if (contragentEntity == null)
            {
                return(false);
            }

            contragentEntity.CgtAuditRu = User.GetUserId();
            contragentsRepository.Delete(contragentEntity);

            return(true);
        }
        public async Task CreateAsync(string name, string address, string email, string vatNumber, string userId)
        {
            var contragent = new Contragent
            {
                Name      = name,
                Address   = address,
                Email     = email,
                VatNumber = vatNumber,
                UserId    = userId
            };

            await this.db.Contragents.AddAsync(contragent);

            await this.db.SaveChangesAsync();
        }
Example #22
0
        private Contragent CreateContragent(string name)
        {
            using (DB_A12601_bielkaContext context = new DB_A12601_bielkaContext())
            {
                Contragent contragent = new Contragent
                {
                    CgtAuditCu       = User.GetUserId(),
                    CgtName          = name,
                    CgtStatus        = "a",
                    CgtLicenseNumber = string.Empty
                };

                IRepository <Contragent> contragentsRepository = new ContragentsRepository();
                contragentsRepository.Save(contragent);
                return(contragent);
            }
        }
        public ContragentDto AddResponsiblePersonToContragent([FromBody] ResponsiblePersonToContragentParamDto param)
        {
            IRepository <Contragent> contragentsRepository = new ContragentsRepository();
            Contragent contragentEntity = contragentsRepository.Get(param.ContragentId);

            if (contragentEntity == null)
            {
                return(new ContragentDto
                {
                    Success = false,
                    ErrorMessage = "Customer doesn't exist"
                });
            }
            contragentEntity.CgtResponsibleUser = param.UserId;
            contragentsRepository.Save(contragentEntity);
            return((ContragentDto)contragentEntity);
        }
Example #24
0
 public async Task CreateContraget(InviteRequest request)
 {
     using (var rep = new Repository <Contragent>(_provider)) {
         var contragent = rep.Get(u => u.Xin == request.InviteClientRequest.Xin && u.Type == request.InviteClientRequest.ContragentType).FirstOrDefault();
         if (contragent != null)
         {
             throw new SmartcontractException("Пользователь с таким сочетанием ИИН/БИН и email уже существует в системе");
         }
         contragent = new Contragent()
         {
             Type     = request.InviteClientRequest.ContragentType,
             Xin      = request.InviteClientRequest.Xin,
             FullName = request.InviteClientRequest.FullName,
         };
         contragent.UniqueId = GenerateContragentUniqueId(contragent);
         rep.Insert(contragent);
         rep.Commit();
     }
 }
        public ContragentDto SaveContragent([FromBody] ContragentDto contragent)
        {
            IRepository <Contragent> contragentsRepository = new ContragentsRepository();
            Contragent contragentEntity = contragentsRepository.Get(contragent.Id) ?? new Contragent
            {
                CgtAuditCu = User.GetUserId()
            };

            contragentEntity.CgtName          = contragent.Name;
            contragentEntity.CgtLicenseNumber = contragent.LicenseNumber;
            contragentEntity.CgtStatus        = contragent.Status;
            contragentEntity.CgtAuditMu       = User.GetUserId();
            contragentEntity.CgtInn           = contragent.Inn;
            contragentEntity.CgtSubscription  = contragent.Subscription;

            contragentsRepository.Save(contragentEntity);

            return((ContragentDto)contragentEntity);
        }
Example #26
0
        public async Task <IActionResult> AddContragent(string name, string address, string email, string VATNumber)
        {
            var appUser = await UserManager.GetUserAsync(HttpContext.User);

            var newContragent = new Contragent()
            {
                Name      = name,
                Address   = address,
                Email     = email,
                VATNumber = VATNumber,
                AppUser   = appUser
            };

            await Context.Contragents.AddAsync(newContragent);

            appUser.Contragents.Add(newContragent);

            await Context.SaveChangesAsync();

            return(View(model: appUser));
        }
Example #27
0
 /// <summary>
 /// Список юзеров-пользователей контрагентов
 /// </summary>
 /// <param name="contragent"></param>
 /// <returns></returns>
 private IEnumerable <ApplicationUser> GetContragentUsers(Contragent contragent)
 {
     try
     {
         List <ApplicationUser> userss = new List <ApplicationUser>();
         var users = contragent.ContragentUsers.Distinct().ToList();
         foreach (var user in users)
         {
             if (!userss.Contains(user))
             {
                 userss.Add(user);
             }
         }
         return(users);
     }
     catch (Exception ex)
     {
         logger.Error(ex);
         return(null);
     }
 }
Example #28
0
        private void editContragentEditBtn_Click(object sender, EventArgs e)
        {
            var id = contragent.ID;

            var name = editContragentNameTE.Text;

            var bulstat = editContragentBulstatTE.Text;

            var vatNumber = editContragentVatnumberTE.Text;

            var city = editContragentCityTE.Text;

            var address = editContragentAddressTE.Text;

            var MRP = editContragentMrpTE.Text;

            var phoneNumber = editContragentPhoneTE.Text;

            using (var db = new WereDesktopEntities())
            {
                Contragent cont = new Contragent();


                cont.ID          = id;
                cont.Name        = name;
                cont.Bulstat     = bulstat;
                cont.VatNumber   = vatNumber;
                cont.City        = city;
                cont.Address     = address;
                cont.Mrp         = MRP;
                cont.PhoneNumber = phoneNumber;


                db.Contragent.AddOrUpdate(cont);

                db.SaveChanges();
                this.Close();
            }
        }
        public string CreateContragent(ContragentPostDto newContragent)
        {
            var userSrv    = new UserService(bmsData);
            var contragent = new Contragent()
            {
                Name = newContragent.Name,
                PersonalIndentityNumber = newContragent.PersonalIndentityNumber,
                PersonalVatNumber       = newContragent.PersonalVatNumber,
                Town             = newContragent.Town,
                Address          = newContragent.Address,
                Telephone        = newContragent.Telephone,
                Email            = newContragent.Email,
                PersonForContact = newContragent.PersonForContact,
                BankDetails      = newContragent.BankDetails,
                Description      = newContragent.Description
            };

            bmsData.Contragents.Add(contragent);
            bmsData.SaveChanges();

            return($"Contragent {newContragent.Name} successfully created!");
        }
Example #30
0
 public WonFix(Trade trade, Bet bet, Contragent buyer, ApplicationUser user) : base(user)
 {
     TradeNumber = trade.Id;
     Volume      = (bet.LotsCount * trade.LotVolume.Value)
                   .ToString("C2",
                             new NumberFormatInfo()
     {
         CurrencySymbol           = "",
         CurrencyDecimalSeparator = ".",
         CurrencyGroupSeparator   = " ",
         CurrencyDecimalDigits    = 0
     });     //"ОБЪЕМ"
     Price = (bet.Price.Value).ToString("C2",
                                        new NumberFormatInfo()
     {
         CurrencySymbol           = "",
         CurrencyDecimalSeparator = ".",
         CurrencyGroupSeparator   = " ",
         CurrencyDecimalDigits    = 0
     });     //"ЦЕНА"
     Sum = (bet.LotsCount * trade.LotVolume.Value * bet.Price.Value)
           .ToString("C2",
                     new NumberFormatInfo()
     {
         CurrencySymbol           = "",
         CurrencyDecimalSeparator = ".",
         CurrencyGroupSeparator   = " ",
         CurrencyDecimalDigits    = 0
     });
     Seller      = trade.Seller.LongName;
     Buyer       = bet.Buyer.LongName;
     Link        = $"https://ptp.ua/trade/bill?t={trade.Id}&b={bet.BuyerId}";
     ProductName = StaticData.Inst.GetCatalogValue(trade.ProductName);
     Trade       = true;
     Send        = IsSend(user);
     // SendMessage();
 }
Example #31
0
        private int CreateOrGetContragentId(Record record)
        {
            var mixedkey = string.Format("{0}#{1}", record.Inn, record.Kpp).ToLower();

            if (this.contragentsDict.ContainsKey(mixedkey))
            {
                return this.contragentsDict[mixedkey].First();
            }

            var fiasAddress = this.CreateAddressForContragent(record);

            if (fiasAddress == null)
            {
                return 0;
            }

            FiasAddressRepository.Save(fiasAddress);

            var contragent = new Contragent
            {
                Name = record.OrganizationName,
                Inn = record.Inn,
                Kpp = record.Kpp,
                Ogrn = record.Ogrn,
                FiasJuridicalAddress = fiasAddress,
                JuridicalAddress = fiasAddress.AddressName,
                Municipality = new Municipality { Id = record.ContragentMunicipalityId },
                DateRegistration = record.DateRegistration,
                ContragentState = ContragentState.Active,
                OrganizationForm = record.OrganizationForm
            };

            this.ContragentRepository.Save(contragent);
            this.contragentsDict[mixedkey] = new List<int> { contragent.Id };

            return contragent.Id;
        }
Example #32
0
        private const string WAREHOUSE_SENDER = @"47402ea7-e1c2-11e3-8c4a-0050568002cf"; //TODO

        #endregion Fields

        #region Methods

        /// [OperationContract]
        /// [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped,
        // ResponseFormat = WebMessageFormat.Json)]
        public string CreateOrderInNP(string fName, string lName, string city, string price, string date,
            string phoneR, string seatsAmount, string serviceType, string weight, string paymentMethod,
            string address, string isAddress, string isRedelivery, string streetD, string buildD, string flatD)
        {
            //1.получам контрагент отправителя

            var sender = new Contragent();
            string senderString = this.GetSender();
            //разбор ответа
            XmlDocument xml = new XmlDocument();
            xml.LoadXml(senderString);
            // проверяем успешность запроса
            bool success = bool.Parse(xml.GetElementsByTagName("success")[0].InnerText);
            if (!success) return "Error. " + xml.GetElementsByTagName("item")[0].InnerText;
            //получаем ид контрагента
            sender.Ref = xml.GetElementsByTagName("Ref")[0].InnerText;
            //получаем ид города контрагента
            sender.City = xml.GetElementsByTagName("City")[0].InnerText;
            //получаем ид склада контрагента
            //получаем контакт отправителя
            string sStr = this.GetContactPersons(sender.Ref);
            xml.LoadXml(sStr);
            // проверяем успешность запроса
            success = bool.Parse(xml.GetElementsByTagName("success")[0].InnerText);
            if (!success) return "Error. " + xml.GetElementsByTagName("item")[0].InnerText;
            //получаем контакт
            sender.Contact = xml.GetElementsByTagName("Ref")[0].InnerText;
            //получаем  телефон контрагента отправителя
            sender.Phone = xml.GetElementsByTagName("Phones")[0].InnerText;

            string senderAddress = this.GetAddressSender(sender.Contact);
            sender.Address = WAREHOUSE_SENDER;
            //sender.Address = senderAddress;
            //2. создаем получателя

            var recipient = new Contragent()
            {
                Phone = phoneR
            };
            //город получателя
            recipient.City = this.GetCityByString(city);
            //создаем контрагент получателя
            string recipienString = this.CreateContragentRecipient(recipient.City, fName, lName, phoneR);
            xml.LoadXml(recipienString);
            // проверяем успешность запроса
            success = bool.Parse(xml.GetElementsByTagName("success")[0].InnerText);
            if (!success) return "Error. " + xml.GetElementsByTagName("item")[0].InnerText;
            //ид получателя
            recipient.Ref = xml.GetElementsByTagName("Ref")[0].InnerText;
            //контактных персон получателя
            recipient.Contact = xml.GetElementsByTagName("Ref")[1].InnerText;
            //адрес
            if (bool.Parse(isAddress))
            {
                //TODO get fields (parse)
                var streetRef = "";
                string streetString = this.GetStreetByString(recipient.City, streetD);
                //возвращает true даже если не нашло никакой улицы,
                //поэтому решили это сделать так!!
                try
                {
                    xml.LoadXml(streetString);
                    success = bool.Parse(xml.GetElementsByTagName("success")[0].InnerText);
                    if (!success) return "Error. Unable to find street!";
                    streetRef = xml.GetElementsByTagName("Ref")[0].InnerText;
                }
                catch
                {
                    return "Error. Unable to find street!";
                }

                var addressString = this.SaveRecipientAddres(recipient.Ref, streetRef, buildD, flatD);
                xml.LoadXml(addressString);
                success = bool.Parse(xml.GetElementsByTagName("success")[0].InnerText);
                if (!success) return "Error. " + xml.GetElementsByTagName("item")[0].InnerText;
                recipient.Address = xml.GetElementsByTagName("Ref")[0].InnerText;
            }
            else
                recipient.Address = this.GetWareHouse(recipient.City, address);

            //3. создаем ЕН

            var request = string.Empty;
            if (bool.Parse(isRedelivery))
                request = this.CreateRequestWithRedelivery(sender, recipient, paymentMethod, date, weight, serviceType, seatsAmount, price);
            else
                request = this.CreateRequestWithOutRedelivery(sender, recipient, paymentMethod, date, weight, serviceType, seatsAmount, price);

            string result = SendRequestToNovaPochta(request);
            return result;
        }
Example #33
0
        ///создать ЕН с обратной досьавкой(деньги)
        private string CreateRequestWithRedelivery(Contragent sender, Contragent recipient, string paymentMethod, string date, string weight,
    string serviceType, string seatsAmount, string price)
        {
            XDocument doc = new XDocument(
              new XElement("root",
                  new XElement("apiKey", KEY_API),
                  new XElement("modelName", "InternetDocument"),
                  new XElement("calledMethod", "save"),
                  new XElement("methodProperties",
                      new XElement("BackwardDeliveryData",
                        new XElement("item",
                          new XElement("CargoType", "Money"),
                          new XElement("PayerType", "Sender"),
                          new XElement("RedeliveryString", price))),
                      new XElement("PayerType", "Recipient"), //кто оплачивает доставку
                      new XElement("PaymentMethod", paymentMethod),
                      new XElement("DateTime", date),
                      new XElement("Weight", weight),
                      new XElement("CargoType", "Cargo"),
                      new XElement("Description", "парник"),
                      new XElement("ServiceType", serviceType),
                      new XElement("SeatsAmount", seatsAmount),
                      new XElement("Cost", price),
                      //данные отправителя
                      new XElement("CitySender", sender.City),
                      new XElement("Sender", sender.Ref),
                      new XElement("SenderAddress", sender.Address), // склад отправки
                      new XElement("ContactSender", sender.Contact),
                      new XElement("SendersPhone", sender.Phone),
                      //данные получателя
                      new XElement("CityRecipient", recipient.City),
                      new XElement("Recipient", recipient.Ref),
                      new XElement("RecipientAddress", recipient.Address),
                      new XElement("ContactRecipient", recipient.Contact),
                      new XElement("RecipientsPhone", recipient.Phone)
                      )));

            return doc.ToString();
        }