Ejemplo n.º 1
0
        public static async Task <WSClientNAV.ReadMultiple_Result> GetAllAsync(int size, NAVWSConfigurations WSConfigurations)
        {
            //if (size == null)
            //    throw new ArgumentNullException("client");

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

            WSClientNAV.teste_PortClient WS_Client = new WSClientNAV.teste_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);

            //var filter = new WSClientNAV.teste_Filter { Field = WSClientNAV.teste_Fields.No, Criteria = null };
            //WSClientNAV.teste_Filter[] filterArray = new WSClientNAV.teste_Filter[] { filter };

            try
            {
                WSClientNAV.ReadMultiple_Result result = await WS_Client.ReadMultipleAsync(null, null, size);

                return(result);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Ejemplo n.º 2
0
        public static async Task <ClientDetailsViewModel> GetByNoAsync(string ClientNo, NAVWSConfigurations WSConfigurations)
        {
            if (ClientNo == null)
            {
                throw new ArgumentNullException("ClientNo");
            }

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

            WSClientNAV.teste_PortClient WS_Client = new WSClientNAV.teste_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
            {
                WSClientNAV.Read_Result result = await WS_Client.ReadAsync(ClientNo);

                var origin = result.teste;

                var mapper = new MapperConfiguration(cfg =>
                                                     cfg.CreateMap <WSClientNAV.teste, ClientDetailsViewModel>()
                                                     ).CreateMapper();

                var dest = mapper.Map <WSClientNAV.teste, ClientDetailsViewModel>(origin);

                return(dest);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Ejemplo n.º 3
0
        public static async Task <WSClientNAV.Delete_Result> DeleteAsync(string ClientNo, NAVWSConfigurations WSConfigurations)
        {
            if (ClientNo == null)
            {
                throw new ArgumentNullException("client");
            }

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

            WSClientNAV.teste_PortClient ws_Client = new WSClientNAV.teste_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
            {
                WSClientNAV.Read_Result resultRead = await ws_Client.ReadAsync(ClientNo);

                WSClientNAV.Delete_Result result = await ws_Client.DeleteAsync(resultRead.teste.Key);

                return(result);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Ejemplo n.º 4
0
        public static async Task <WSClientNAV.Update_Result> UpdateAsync(ClientDetailsViewModel client, NAVWSConfigurations WSConfigurations)
        {
            if (client == null)
            {
                throw new ArgumentNullException("client");
            }

            WSClientNAV.Update navUpdate = new WSClientNAV.Update()
            {
                teste = new WSClientNAV.teste
                {
                    //No = client.No,
                    Name                = client.Name,
                    Address             = client.Address,
                    Address_2           = client.Address_2,
                    Post_Code           = client.Post_Code,
                    City                = client.City,
                    Phone_No            = client.Phone_No,
                    E_Mail              = client.E_Mail,
                    Fax_No              = client.Fax_No,
                    Home_Page           = client.Home_Page,
                    County              = client.County,
                    VAT_Registration_No = client.VAT_Registration_No,
                    //Cliente_Associado = client.Cliente_Associado,
                    Associado_A_N = client.Associado_A_N,
                    //Tipo_Cliente = client.Tipo_Cliente,
                    //Natureza_Cliente = client.Natureza_Cliente
                }
            };

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

            WSClientNAV.teste_PortClient ws_Client = new WSClientNAV.teste_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);

            WSClientNAV.Read_Result resultRead = await ws_Client.ReadAsync(navUpdate.teste.No);

            navUpdate.teste.Key = resultRead.teste.Key;

            try
            {
                WSClientNAV.Update_Result result = await ws_Client.UpdateAsync(navUpdate);

                return(result);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Ejemplo n.º 5
0
        public static async Task <WSClientNAV.Update_Result> UpdateVATNumber(ClientDetailsViewModel client, NAVWSConfigurations WSConfigurations)
        {
            if (client == null)
            {
                throw new ArgumentNullException("client");
            }

            WSClientNAV.Update navUpdate = new WSClientNAV.Update()
            {
                teste = new WSClientNAV.teste
                {
                    VAT_Registration_No = client.VAT_Registration_No,
                }
            };

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

            WSClientNAV.teste_PortClient ws_Client = new WSClientNAV.teste_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);

            WSClientNAV.Read_Result resultRead = await ws_Client.ReadAsync(navUpdate.teste.No);

            navUpdate.teste.Key = resultRead.teste.Key;

            try
            {
                WSClientNAV.Update_Result result = await ws_Client.UpdateAsync(navUpdate);

                return(result);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Ejemplo n.º 6
0
        public static async Task <WSClientNAV.Create_Result> CreateAsync(ClientDetailsViewModel client, NAVWSConfigurations WSConfigurations)
        {
            if (client == null)
            {
                throw new ArgumentNullException("client");
            }

            var mapper = new MapperConfiguration(cfg =>
                                                 cfg.CreateMap <ClientDetailsViewModel, WSClientNAV.teste>()
                                                 ).CreateMapper();

            WSClientNAV.Create navCreate = new WSClientNAV.Create()
            {
                teste = mapper.Map <ClientDetailsViewModel, WSClientNAV.teste>(client)

                        /*teste = new WSClientNAV.teste
                         * {
                         *  //No = client.No,
                         *  Name = client.Name,
                         *  Address = client.Address,
                         *  Address_2 = client.Address_2,
                         *  Post_Code = client.Post_Code,
                         *  City = client.City,
                         *  Phone_No = client.Phone_No,
                         *  E_Mail = client.E_Mail,
                         *  Fax_No = client.Fax_No,
                         *  Home_Page = client.Home_Page,
                         *  County = client.County,
                         *  VAT_Registration_No = client.VAT_Registration_No,
                         *  Cliente_Associado = client.Cliente_Associado,
                         *  Associado_A_N = client.Associado_A_N,
                         *  Tipo_Cliente = client.Tipo_Cliente,
                         *  Natureza_Cliente = client.Natureza_Cliente
                         * }*/
            };

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

            WSClientNAV.teste_PortClient ws_Client = new WSClientNAV.teste_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
            {
                var lastClientResult = await ws_Client.ReadMultipleAsync(null, null, -1);

                string lastClientNo = null, newClientNo = "1"; //default client No
                if (lastClientResult != null)
                {
                    lastClientNo = lastClientResult.ReadMultiple_Result1[0].No;
                }

                if (lastClientNo != null)
                {
                    var digits = from c in lastClientNo
                                 where Char.IsDigit(c)
                                 select c;

                    var alphas = from c in lastClientNo
                                 where !Char.IsDigit(c)
                                 select c;

                    if (alphas.Count() > 0)
                    {
                        newClientNo = String.Join("", alphas);
                    }

                    if (digits.Count() > 0)
                    {
                        var newNum = int.Parse(String.Join("", digits)) + 1;
                        newClientNo += newNum.ToString();
                    }
                }

                navCreate.teste.No = newClientNo;

                WSClientNAV.Create_Result result = await ws_Client.CreateAsync(navCreate);

                return(result);
            }
            catch (Exception ex)
            {
                throw;
            }
        }