public static async Task <string> GetDestinationDirectory(InRiverDestination dest)
        {
            string destDirectory = "";
            await Task.Run(() =>
            {
                //get destination folder
                List <CommonLookup> opts = CommonLookup.GetLookups(INRIVER_DESTINATIONS, true);

                switch (dest)
                {
                case InRiverDestination.Products:
                    destDirectory = opts.Where(o => o.Code == "Products").FirstOrDefault().CodeDesc;
                    break;

                case InRiverDestination.Parts:
                    destDirectory = opts.Where(o => o.Code == "Parts").FirstOrDefault().CodeDesc;
                    break;

                case InRiverDestination.StockPartRelationship:
                    destDirectory = opts.Where(o => o.Code == "StockPartRelation").FirstOrDefault().CodeDesc;
                    break;

                default:
                    destDirectory = opts.Where(o => o.Code == "Products").FirstOrDefault().CodeDesc;
                    break;
                }
            });

            return(destDirectory);
        }
Esempio n. 2
0
        public static AvayaResult MakeCall(string sourceExt, string dest)
        {
            AvayaResult result = new AvayaResult {
                Extension = sourceExt, Destination = dest
            };

            if (String.IsNullOrEmpty(sourceExt) || String.IsNullOrEmpty(dest))
            {
                result.Error = new Exception("Invalid or Missing Parameters"); return(result);
            }

            Int32 e = 0;

            if (!Int32.TryParse(sourceExt, out e))
            {
                return(MakeCallByUser(sourceExt, dest));
            }

            // take the incoming number and add any prefixes to it for out-dial
            dest = PrefixDestination(sourceExt, dest);

            AppUsage.Log("Avaya", DEFAULT_COMPANY, sourceExt, "MakeCall", dest);

            //Establish Service
            AvayaTSWS.TelephonyServiceService svc = new AvayaTSWS.TelephonyServiceService();
            svc.Url = (string)Cache.MemoryCacher.GetValue(AVAYA_URL) ?? CommonLookup.GetLookups("BHCCRM", AVAYA_URL, true)[0].CodeDesc; // "http://192.168.101.26/axis/services/TelephonyService";

            Cache.MemoryCacher.Add(AVAYA_URL, svc.Url);

            //endpoints
            AvayaTSWS.endpoints ep = new AvayaTSWS.endpoints();
            ep.originatingExtension = sourceExt; // System.Configuration.ConfigurationManager.AppSettings.Get("ext").ToString();
            ep.destinationNumber    = dest;

            try
            {
                //do work
                System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { return(true); };

                string sess = null;

                svc.attach(sess);

                svc.makeCall(ep);
            }
            catch (Exception ex)
            {
                result.Error = ex;
            }

            return(result);
        }
        public static async Task <InRiverServiceResult> ProcessProductsAll()
        {
            //only handles stock numbers

            string filename = Guid.NewGuid().ToString() + ".xlsx";

            InRiverServiceResult sr = new InRiverServiceResult();

            sr.ProcessTask = "InRiver.ProcessProductsAll";

            //Get headers and related data fields
            List <CommonLookup> headerfields = Task.Run(() => CommonLookup.GetLookups(PRODUCT_TEMPLATE, true)).Result;

            //get data from view dbo.usp_InRiverProductTemplate


            using (SqlConnection connection = new SqlConnection(APIModels.Data.ConnectionManager.ProductDataHubConnectionString))
            {
                connection.Open();

                SqlDataReader reader = await GetEntityProductTemplateData(connection, null);

                XLWorkbook workbook = null;

                workbook = await BuildWorkbook(headerfields, reader, connection, filename);

                reader.Close();

                Boolean fileCopied = await CopyToDestination(filename, InRiverDestination.Products);

                if (fileCopied)
                {
                    sr.LastProcessed = sr.Processed;
                    sr.FileName      = filename;
                    sr.LogDate       = DateTime.Now;
                }

                sr.Save(connection);
            }

            return(sr);
        }
        private static async Task <InRiverServiceResult> ProcessStockNumberUpdates(IEnumerable <InRiverProcessorItem> items)
        {
            InRiverServiceResult sr = new InRiverServiceResult();

            string filename = Guid.NewGuid().ToString() + ".xlsx";

            //Get headers and related data fields
            List <CommonLookup> headerfields = CommonLookup.GetLookups(PRODUCT_TEMPLATE, true);

            //get data from view dbo.usp_InRiverProductTemplate
            XLWorkbook workbook = null;

            using (SqlConnection connection = new SqlConnection(APIModels.Data.ConnectionManager.ProductDataHubConnectionString))
            {
                SqlDataReader reader = await GetEntityProductTemplateData(connection, items);

                workbook = await BuildWorkbook(headerfields, reader, connection, filename);

                reader.Close();

                Boolean fileCopied = await CopyToDestination(filename, InRiverDestination.Products);

                if (fileCopied)
                {
                    await UpdateState(items, InRiverState.Complete);

                    sr.LastProcessed = sr.Processed;
                    sr.FileName      = filename;
                    sr.LogDate       = DateTime.Now;
                }

                sr.Save(connection);
            }


            await UpdateState(items, InRiverState.Complete);

            return(sr);
        }
        private static async Task <InRiverServiceResult> ProcessPartUpdates(IEnumerable <InRiverProcessorItem> items)
        {
            InRiverServiceResult sr = new InRiverServiceResult();

            string filename = Guid.NewGuid().ToString() + ".xlsx";

            sr.ProcessTask = "InRiver.ProcessPartsUpdates";

            //Get headers and related data fields
            List <CommonLookup> headerfields = Task.Run(() => CommonLookup.GetLookups(ITEM_TEMPLATE, true)).Result;

            using (SqlConnection connection = new SqlConnection(APIModels.Data.ConnectionManager.ProductDataHubConnectionString))
            {
                connection.Open();

                SqlDataReader reader = await GetEntityItemTemplateData(connection, null);

                XLWorkbook workbook = null;

                workbook = await BuildWorkbook(headerfields, reader, connection, filename);

                reader.Close();

                Boolean fileCopied = await CopyToDestination(filename, InRiverDestination.Parts);

                if (fileCopied)
                {
                    await UpdateState(items, InRiverState.Complete);

                    sr.LastProcessed = sr.Processed;
                    sr.FileName      = filename;
                    sr.LogDate       = DateTime.Now;
                }

                sr.Save(connection);
            }

            return(sr);
        }
        private static async Task <InRiverServiceResult> ProcessDataUpdates(IEnumerable <InRiverProcessorItem> items, InRiverDestination dest)
        {
            InRiverServiceResult sr = new InRiverServiceResult();

            if (items == null || !items.Any())
            {
                return(sr);
            }

            string filename = Guid.NewGuid().ToString() + ".xlsx";

            string template = PRODUCT_TEMPLATE;

            //set defaults based on dest type
            switch (dest)
            {
            case InRiverDestination.Products:
                sr.ProcessTask = "InRiver.ProcessStockNoUpdates";
                template       = PRODUCT_TEMPLATE;
                break;

            case InRiverDestination.Parts:
                sr.ProcessTask = "InRiver.ProcessPartsUpdates";
                template       = ITEM_TEMPLATE;
                break;

            case InRiverDestination.StockPartRelationship:
                sr.ProcessTask = "InRiver.ProcessRelationships";
                template       = RELATIONSHIP_TEMPLATE;
                break;

            default:
                sr.ProcessTask = "InRiver.ProcessStockNoUpdates";
                template       = PRODUCT_TEMPLATE;
                break;
            }

            //Get headers and related data fields
            List <CommonLookup> headerfields = Task.Run(() => CommonLookup.GetLookups(template, true)).Result;

            using (SqlConnection connection = new SqlConnection(APIModels.Data.ConnectionManager.ProductDataHubConnectionString))
            {
                connection.Open();

                Object readerObject = null;

                if (dest == InRiverDestination.Products)
                {
                    readerObject = await GetEntityProductTemplateData(connection, items);
                }

                if (dest == InRiverDestination.Parts)
                {
                    readerObject = await GetEntityItemTemplateData(connection, items);
                }

                if (dest == InRiverDestination.StockPartRelationship)
                {
                    readerObject = await GetEntityRelationshipTemplateData(connection, items);
                }

                if (readerObject != null)
                {
                    SqlDataReader reader = (SqlDataReader)readerObject;

                    XLWorkbook workbook = null;

                    workbook = await BuildWorkbook(headerfields, reader, connection, filename);

                    reader.Close();

                    Boolean fileCopied = await CopyToDestination(filename, dest);

                    if (fileCopied)
                    {
                        await UpdateState(items, InRiverState.Complete);

                        sr.LastProcessed = sr.Processed;
                        sr.FileName      = filename;
                        sr.LogDate       = DateTime.Now;
                        sr.ProcessStatus = "Finished";
                        await UpdateState(items, InRiverState.Complete);
                    }
                    else
                    {
                        sr.FileName      = filename;
                        sr.LogDate       = DateTime.Now;
                        sr.ProcessStatus = "Failure";
                        sr.ErrorMessage  = "File Not Copied";
                        await UpdateState(items, InRiverState.Failure);
                    }

                    sr.Save(connection);
                }
            }

            return(sr);
        }
Esempio n. 7
0
        protected override System.Net.WebRequest GetWebRequest(Uri uri)
        {
            string username = (string)Cache.MemoryCacher.GetValue(Avaya.Avaya.AVAYA_USERKEY) ?? CommonLookup.GetLookups("BHCCRM", Avaya.Avaya.AVAYA_USERKEY, true)[0].CodeDesc; //ConfigurationManager.AppSettings.Get("user").ToString();

            string pwd = (string)Cache.MemoryCacher.GetValue(Avaya.Avaya.AVAYA_PWDKEY) ?? CommonLookup.GetLookups("BHCCRM", Avaya.Avaya.AVAYA_PWDKEY, true)[0].CodeDesc;        //ConfigurationManager.AppSettings.Get("pwd").ToString();

            Cache.MemoryCacher.Add(Avaya.Avaya.AVAYA_USERKEY, username);

            Cache.MemoryCacher.Add(Avaya.Avaya.AVAYA_PWDKEY, pwd);

            System.Net.WebRequest request = base.GetWebRequest(uri);

            //request.Headers.Add("username", "avayacce@swlink1");

            //request.Headers.Add("password", "passwordhere");

            request.Headers["Authorization"] = "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes(username + ":" + pwd));

            return(request);
        }