コード例 #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;
        }
コード例 #2
0
        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;
        }
コード例 #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();
         }
     }
 }
コード例 #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);
     }
 }
コード例 #5
0
        public ActionResult DeleteConfirmed(long id)
        {
            Contragent contragent = db.Contragent.Find(id);

            db.Contragent.Remove(contragent);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #6
0
ファイル: LegalNotActive.cs プロジェクト: ncelsRS/ptp
        // 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();
        }
コード例 #7
0
ファイル: LegalActive.cs プロジェクト: ncelsRS/ptp
        // 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();
        }
コード例 #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;
     }
 }
コード例 #9
0
 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));
 }
コード例 #10
0
 public ActionResult Edit(Contragent contragent)
 {
     if (ModelState.IsValid)
     {
         db.Entry(contragent).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(contragent));
 }
コード例 #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));
        }
コード例 #12
0
        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));
        }
コード例 #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));
        }
コード例 #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;
 }
コード例 #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();
 }
コード例 #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>();
        }
コード例 #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));
        }
コード例 #18
0
        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;
            }
        }
コード例 #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();
                }
            }
        }
コード例 #20
0
        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);
        }
コード例 #21
0
        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();
        }
コード例 #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);
            }
        }
コード例 #23
0
        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);
        }
コード例 #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();
     }
 }
コード例 #25
0
        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);
        }
コード例 #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));
        }
コード例 #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);
     }
 }
コード例 #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();
            }
        }
コード例 #29
0
        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!");
        }
コード例 #30
0
ファイル: WonFix.cs プロジェクト: ncelsRS/ptp
 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();
 }
コード例 #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;
        }
コード例 #32
0
ファイル: ClassApi.cs プロジェクト: neos1993/-
        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;
        }
コード例 #33
0
ファイル: ClassApi.cs プロジェクト: neos1993/-
        ///создать ЕН с обратной досьавкой(деньги)
        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();
        }