public static async Task <WSContacts.Create_Result> CreateAsync(ContactViewModel contact, NAVWSConfigurations WSConfigurations)
        {
            if (contact == null)
            {
                throw new ArgumentNullException("contact");
            }

            WSContacts.Create navCreate = new WSContacts.Create()
            {
                WSContact = new WSContacts.WSContact()
                {
                    No                  = contact.No,
                    gName               = contact.Nome,
                    City                = contact.ClienteCidade,
                    E_Mail              = contact.Email,
                    gAddress            = contact.ClienteEndereco,
                    Mobile_Phone_No     = contact.Telemovel,
                    Phone_No            = contact.Telefone,
                    Post_Code           = contact.ClienteCodigoPostal,
                    VAT_Registration_No = contact.ClienteNIF,
                }
            };


            //Configure NAV Client
            EndpointAddress ws_URL = new EndpointAddress(WSConfigurations.WS_Contacts_URL.Replace("Company", WSConfigurations.WS_User_Company));

            WSContacts.WSContact_PortClient ws_Client = new WSContacts.WSContact_PortClient(navWSBinding, ws_URL);
            ws_Client.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Delegation;
            ws_Client.ClientCredentials.Windows.ClientCredential          = new NetworkCredential(WSConfigurations.WS_User_Login, WSConfigurations.WS_User_Password, WSConfigurations.WS_User_Domain);

            //try
            //{
            WSContacts.Create_Result result = await ws_Client.CreateAsync(navCreate);

            return(result);
            //}
            //catch (Exception ex)
            //{
            //    throw;
            //}
        }
Beispiel #2
0
 public System.Threading.Tasks.Task <WSContacts.Create_Result> CreateAsync(WSContacts.Create request)
 {
     return(base.Channel.CreateAsync(request));
 }