示例#1
0
        public List <SupplierResponse> GetSupplierData()
        {
            var address = new PostalAddress
            {
                Address1      = "testbedrijf",
                City          = "Veenendaal",
                ContactPerson = "testsupplier",
                ZipCode       = "3903AA"
            };

            address.Country.Code = "NL";
            address.Country.Name = "Nederland";
            var supplierresponse = new SupplierResponse
            {
                Name      = "testsupplier",
                Code      = "2790",
                Comment   = "test",
                VatNumber = "1",
                Website   = "test.nl"
            };

            supplierresponse.Bank.Name            = "Bank";
            supplierresponse.Bank.AccountNumber   = "12345";
            supplierresponse.Bank.AccountHolder   = "testsupplier";
            supplierresponse.Bank.Iban            = "NL32INGB0000012345";
            supplierresponse.Addresses.General    = address;
            supplierresponse.PhoneNumbers.General = "03181111111";
            supplierresponse.PhoneNumbers.Mobile  = "0611111111";
            return(new List <SupplierResponse> {
                supplierresponse
            });
        }
示例#2
0
        public IHttpActionResult Update(Supplier supplier)
        {
            SupplierResponse response = new SupplierResponse();

            try
            {
                Supplier supplierSaved = supplierBL.UpdateSupplier(supplier);
                response.Supplier = supplierSaved;
                response.Success  = true;
            }
            catch (SupplierException ex)
            {
                response.ErrorCode    = ex.Error;
                response.ErrorMessage = "Error. " + ex.Error.ToString();
                response.Supplier     = null;
                response.Success      = false;
            }
            catch (Exception ex)
            {
                response.ErrorMessage = "Error. " + ex.Message;
                response.Supplier     = null;
                response.Success      = false;
            }
            return(Ok(response));
        }
        public XmlSupplier ConvertSupplier(SupplierResponse sr)
        {
            var convertSup = new XmlSupplier
            {
                Name      = sr.Name,
                Code      = sr.Code,
                VatNumber = sr.VatNumber,
                Website   = sr.Website,
                Bank      = new XmlBank
                {
                    Name          = sr.Bank.Name,
                    AccountHolder = sr.Bank.AccountHolder,
                    AccountNumber = sr.Bank.AccountNumber,
                    BicCode       = sr.Bank.BicCode,
                    IBan          = sr.Bank.BicCode
                },
                Addresses = new XmlPostalAddresses
                {
                    General = new XmlPostalAddress
                    {
                        Address1      = sr.Addresses.General.Address1,
                        Address2      = sr.Addresses.General.Address2,
                        City          = sr.Addresses.General.City,
                        ContactPerson = sr.Addresses.General.ContactPerson,
                        Country       = new XmlCountry
                        {
                            Code = sr.Addresses.General.Country.Code,
                            Name = sr.Addresses.General.Country.Name
                        },
                        ZipCode = sr.Addresses.General.ZipCode
                    }
                },
                PhoneNumbers = new XmlPhoneNumbers
                {
                    General = sr.PhoneNumbers.General,
                    Mobile  = sr.PhoneNumbers.Mobile,
                    Fax     = sr.PhoneNumbers.Fax
                },
                MailAddresses = new XmlMailAddresses
                {
                    General = new XmlEmailAddres
                    {
                        To = sr.MailAddresses.General.To
                    },
                    Invoice = new XmlEmailAddres
                    {
                        To = sr.MailAddresses.Invoice.To
                    },
                    InvoiceReminder = new XmlEmailAddres
                    {
                        To = sr.MailAddresses.InvoiceReminder.To
                    }
                }
            };

            return(convertSup);
        }
        public SupplierResponse SaveSupplier(SupplierRequest request)
        {
            var response = new SupplierResponse();
            var supplier = request.Supplier;

            var isCodeExists = DbContext.Suppliers.Any(x => x.SupplierCode == supplier.SupplierCode);
            var isVatExists = DbContext.Suppliers.Any(x => x.VATNumber == supplier.VATNumber);
            var isCstExists = DbContext.Suppliers.Any(x => x.CSTNumber == supplier.CSTNumber);

            if (supplier.SupplierId == 0)
            {
                if (isCodeExists)
                    response.AddValidationError("SupplierCode", "Supplier code already exists!");

                if (isVatExists || isCstExists)
                    response.AddValidationError("VATNumber", "VAT/ CST number already exists!");

                var next = DbContext.Suppliers.Max(x => (int?)x.SupplierId) ?? 0;

                supplier.SupplierCode = String.Concat(Constants.SUPPLIERMASTERPREFIX, ++next);
            }
            else
            {
                var OriginalValue = GetOriginalRecord(supplier);

                if (supplier.SupplierCode != (String)OriginalValue["SupplierCode"] && isCodeExists)
                    response.AddValidationError("SupplierCode", "Supplier code already exists!");

                if ((supplier.VATNumber != (String)OriginalValue["VATNumber"] && isVatExists)
                    ||
                    (supplier.CSTNumber != (String)OriginalValue["CSTNumber"] && isCstExists)
                    )
                    response.AddValidationError("VATNumber", "VAT/ CST number already exists!");
            }

            if (response.IsValid == false)
                return response;

            supplier.AccessedBy = LocalStore.CurrentUser.UserId;
            supplier.AccessedDate = DateTime.Now;

            if (supplier.SupplierId == 0)
                DbContext.Suppliers.AddObject(supplier);

            // Save user
            DbContext.SaveChanges();

            return response;
        }
示例#5
0
        public void SaveSupplier()
        {
            bool       reLoadList = false;
            HttpClient client     = new HttpClient();

            client.BaseAddress = new Uri(baseUrl);
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/bson"));
            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Token.access_token);
            string action = string.Empty;

            if (supplierView.CurrentSupplier.Id == 0)
            {
                //insert
                action     = insertAction;
                reLoadList = true;
            }
            else
            {
                action = updateAction;
            }
            //update
            MediaTypeFormatter  bsonFormatter = new BsonMediaTypeFormatter();
            HttpResponseMessage response      = client.PostAsync(action, supplierView.CurrentSupplier, bsonFormatter).Result;

            response.EnsureSuccessStatusCode();
            MediaTypeFormatter[] formatters       = new MediaTypeFormatter[] { bsonFormatter };
            SupplierResponse     supplierResponse = response.Content.ReadAsAsync <SupplierResponse>(formatters).Result;

            if (supplierResponse.Success)
            {
                if (supplierResponse.Supplier != null)
                {
                    if (reLoadList)
                    {
                        LoadSuppliers();
                        supplierView.SelectedId = supplierResponse.Supplier.Id;
                    }
                }
            }
            else
            {
                throw new SupplierException(supplierResponse.ErrorCode, supplierResponse.ErrorMessage);
            }
        }
示例#6
0
 private void toevoegen_Click(object sender, EventArgs e)
 {
     if (!string.IsNullOrWhiteSpace(codeBox.Text) || !string.IsNullOrWhiteSpace(nameBox.Text) ||
         !string.IsNullOrWhiteSpace(banknameBox.Text) || !string.IsNullOrWhiteSpace(holderBox.Text) ||
         !string.IsNullOrWhiteSpace(numberBox.Text))
     {
         var countries   = _countryInterface.GetByName(countryBox.Text);
         var countryName = string.Empty;
         var countryCode = string.Empty;
         foreach (var c in countries)
         {
             countryName = c.Name;
             countryCode = c.Code;
         }
         this.Supplier = new SupplierResponse
         {
             Code = codeBox.Text,
             Name = nameBox.Text,
         };
         this.Supplier.Addresses.General = new PostalAddress
         {
             Address1 = addressBox.Text,
             City     = cityBox.Text,
             Country  = { Name = countryName, Code = countryCode },
             ZipCode  = zipBox.Text
         };
         this.Supplier.Bank.Name          = banknameBox.Text;
         this.Supplier.Bank.AccountHolder = holderBox.Text;
         this.Supplier.Bank.AccountNumber = numberBox.Text;
         this.Supplier.Bank.BicCode       = bicBox.Text;
         this.Supplier.Bank.Iban          = ibanBox.Text;
         this.DialogResult = DialogResult.OK;
         this.Close();
     }
     else
     {
         System.Windows.Forms.MessageBox.Show(@"Vul alle verplichte velden in");
     }
 }
示例#7
0
        public void DeleteSupplier()
        {
            HttpClient client = new HttpClient();

            client.BaseAddress = new Uri(baseUrl);
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Token.access_token);
            HttpResponseMessage response = client.PostAsJsonAsync(deleteAction, new IdModel(supplierView.SelectedId)).Result;

            if (response.IsSuccessStatusCode)
            {
                SupplierResponse supplierResponse = response.Content.ReadAsAsync <SupplierResponse>().Result;
                if (supplierResponse.Success)
                {
                    //Deleted!
                    LoadSuppliers();
                    PropertyCopier.CopyProperties(new Supplier(), supplierView.CurrentSupplier);
                    supplierView.CurrentSupplier.RaiseUpdateProperties();
                    supplierView.SelectedId = -1;
                }
            }
        }
示例#8
0
        public IHttpActionResult Delete(IdModel id)
        {
            SupplierResponse response = new SupplierResponse();

            try
            {
                bool success = supplierBL.DeleteSupplier(id.Id);
                response.Success = success;
            }
            catch (SupplierException ex)
            {
                response.ErrorCode    = ex.Error;
                response.ErrorMessage = "Error. " + ex.Error.ToString();
                response.Supplier     = null;
                response.Success      = false;
            }
            catch (Exception ex)
            {
                response.ErrorMessage = "Error. " + ex.Message;
                response.Supplier     = null;
                response.Success      = false;
            }
            return(Ok(response));
        }
示例#9
0
        public SupplierResponse ConvertSupplier(Supplier supplier)
        {
            var phonenumber  = string.Empty;
            var mobilenumber = string.Empty;
            var faxnumber    = string.Empty;
            var address      = new PostalAddress();

            for (int i = 0; i < supplier.Addresses.Address.Count; i++)
            {
                var a = supplier.Addresses.Address[i];
                if (a.Telephone.StartsWith("06"))
                {
                    mobilenumber = a.Telephone;
                }
                else
                {
                    phonenumber = a.Telephone;
                }

                faxnumber = a.Telefax;
                address   = new PostalAddress
                {
                    Address1      = a.Name,
                    City          = a.City,
                    ContactPerson = a.Contact,
                    ZipCode       = a.Postcode
                };
                address.Country.Code = a.Country;
                address.Country.Name = a.CountryName;
            }
            var bank = new BankM();

            for (int i = 0; i < supplier.Banks.Bank.Count; i++)
            {
                if (supplier.Banks.Bank[i] != null)
                {
                    bank.AccountNumber = supplier.Banks.Bank[i].Accountnumber;
                    bank.AccountHolder = supplier.Banks.Bank[i].Ascription;
                    bank.BicCode       = supplier.Banks.Bank[i].Biccode;
                    bank.Iban          = supplier.Banks.Bank[i].Iban;
                    bank.Name          = supplier.Banks.Bank[i].Bankname;
                }
            }

            var supplierResponse = new SupplierResponse
            {
                Name      = supplier.Name,
                Code      = supplier.Code,
                VatNumber = supplier.Vatnumber,
                Comment   = supplier.Shortname,
                Website   = supplier.Website,
            };

            supplierResponse.Addresses.General        = address;
            supplierResponse.Bank.Name                = bank.Name;
            supplierResponse.Bank.AccountNumber       = bank.AccountNumber;
            supplierResponse.Bank.AccountHolder       = bank.AccountHolder;
            supplierResponse.Bank.BicCode             = bank.BicCode;
            supplierResponse.Bank.Iban                = bank.Iban;
            supplierResponse.PhoneNumbers.General     = phonenumber;
            supplierResponse.PhoneNumbers.Fax         = faxnumber;
            supplierResponse.PhoneNumbers.Mobile      = mobilenumber;
            supplierResponse.MailAddresses.General.To = supplier.Financials.Ebillmail;
            supplierResponse.MailAddresses.Invoice.To = supplier.Financials.Ebillmail;
            return(supplierResponse);
        }
示例#10
0
        public Supplier ConvertSupplierResponse(SupplierResponse supplierResponse, string office)
        {
            var banks = new List <Bank>();
            var bank  = new Bank
            {
                Ascription    = supplierResponse.Bank.AccountHolder,
                Accountnumber = supplierResponse.Bank.AccountNumber,
                Bankname      = supplierResponse.Bank.Name,
                Biccode       = supplierResponse.Bank.BicCode,
                Iban          = supplierResponse.Bank.Iban,
                Address       = new Address
                {
                    Field2 = string.Empty,
                    Field3 = string.Empty
                }
            };

            banks.Add(bank);

            var a         = supplierResponse.Addresses.General;
            var addresses = new List <Address>();
            var address   = new Address
            {
                Name     = a.Address1,
                City     = a.City,
                Contact  = a.ContactPerson,
                Country  = a.Country.Code,
                Postcode = a.ZipCode
            };

            addresses.Add(address);

            return(new Supplier
            {
                Office = office,
                Name = supplierResponse.Name,
                Code = supplierResponse.Code,
                Website = supplierResponse.Website,
                Paymentconditions = new Paymentconditions
                {
                    Paymentcondition = new List <Paymentcondition>()
                },
                Postingrules = new Postingrules
                {
                    Postingrule = new List <Postingrule>()
                },
                Financials = new Financials
                {
                    Matchtype = MatchType.Customersupplier,
                    Accounttype = "inherit",
                    Level = 2,
                    Vatcode = new VatCode()
                },
                Banks = new Banks
                {
                    Bank = banks
                },
                Addresses = new Addresses
                {
                    Address = addresses
                }
            });
        }