public int CreateSerial(SerialDTO serialDTO)
        {
            var param = ParametersHelper.CreateFromObject(serialDTO).IncludeOutputId();

            ExecuteSP("USP_Serial_Create", param);
            return(param.GetOutputId());
        }
Beispiel #2
0
        public int CreateColor(ColorDTO colorDTO)
        {
            var param = ParametersHelper.CreateFromObject(colorDTO).IncludeOutputId();

            ExecuteSP("USP_Color_Create", param);
            return(param.GetOutputId());
        }
Beispiel #3
0
        private List <KeyValuePair <string, string> > CreateParametersGetVideoStreamFileLink(string path, long?fileId, bool forceDownload = false,
                                                                                             string contentType = null, int?maxSpeed      = null, int?skipFileName        = null, int abitrate = 128,
                                                                                             int vbitrate       = 1000, string resolution = "1280x960", bool fixedbitrate = false)
        {
            var parameters = ParametersHelper.CreateParameterListForFile(path, fileId);

            if (!string.IsNullOrEmpty(contentType))
            {
                parameters.Add(new KeyValuePair <string, string>("type", WebUtility.UrlEncode(contentType)));
            }
            if (maxSpeed.HasValue)
            {
                parameters.Add(new KeyValuePair <string, string>("maxspeed", WebUtility.UrlEncode(maxSpeed.Value.ToString())));
            }
            if (skipFileName.HasValue)
            {
                parameters.Add(new KeyValuePair <string, string>("skipfilename", WebUtility.UrlEncode(skipFileName.Value.ToString())));
            }

            parameters.Add(new KeyValuePair <string, string>("forcedownload", WebUtility.UrlEncode(forceDownload ? "1" : "0")));
            parameters.Add(new KeyValuePair <string, string>("abitrate", WebUtility.UrlEncode(abitrate.ToString())));
            parameters.Add(new KeyValuePair <string, string>("vbitrate", WebUtility.UrlEncode(vbitrate.ToString())));
            parameters.Add(new KeyValuePair <string, string>("resolution", WebUtility.UrlEncode(resolution)));
            parameters.Add(new KeyValuePair <string, string>("fixedbitrate", WebUtility.UrlEncode(fixedbitrate ? "1" : "0")));

            return(parameters);
        }
Beispiel #4
0
        public int CreateTicket(TicketCreateDTO ticketDTO)
        {
            var param = ParametersHelper.CreateFromObject(ticketDTO).IncludeOutputId();

            ExecuteSP("USP_Ticket_Create", param);
            return(param.GetOutputId());
        }
        private void Build(StringBuilder sb, List <object> args, Sql lhs)
        {
            if (!string.IsNullOrEmpty(_sql))
            {
                // Add SQL to the string
                if (sb.Length > 0)
                {
                    sb.Append("\n");
                }

                var sql = ParametersHelper.ProcessParams(_sql, _args, args);

                if (Is(lhs, "WHERE ") && Is(this, "WHERE "))
                {
                    sql = "AND " + sql.Substring(6);
                }
                if (Is(lhs, "ORDER BY ") && Is(this, "ORDER BY "))
                {
                    sql = ", " + sql.Substring(9);
                }
                // add set clause
                if (Is(lhs, "SET ") && Is(this, "SET "))
                {
                    sql = ", " + sql.Substring(4);
                }

                sb.Append(sql);
            }

            // Now do rhs
            if (_rhs != null)
            {
                _rhs.Build(sb, args, this);
            }
        }
Beispiel #6
0
        public IEnumerable <TicketEM> GetTickets(IDateRange dateRange)
        {
            var param = ParametersHelper.CreateFromObject(dateRange);

            return(ExecuteSP <TicketEM, PackageEM, SerialEM, ColorEM, NominalEM, TicketEM>("USP_Ticket_GetBetweenDates",
                                                                                           TicketEM.MapTicket, SPLIT_ON, param));
        }
Beispiel #7
0
        public void UnitTests_PhaxCode_AttachNoOptions()
        {
            var testPdf = BinaryFixtures.getTestPdfFile();

            Action <IRestRequest> requestAsserts = req =>
            {
                Assert.AreEqual(1, req.Files.Count);
                Assert.AreEqual("filename", req.Files[0].Name);

                var parameters = ParametersHelper.ToDictionary(req.Parameters);

                Assert.AreEqual(1, parameters["x"], "x's should be the same.");
                Assert.AreEqual(2, parameters["y"], "y's should be the same.");
            };

            var clientBuilder = new IRestClientBuilder {
                Op = "attachPhaxCodeToPdf", RequestAsserts = requestAsserts
            };

            var phaxio = new PhaxioClient(IRestClientBuilder.TEST_KEY, IRestClientBuilder.TEST_SECRET, clientBuilder.BuildUntyped());

            var pdfBytes = phaxio.AttachPhaxCodeToPdf(1, 2, testPdf);

            Assert.IsNotEmpty(pdfBytes);

            var expectedPdf = BinaryFixtures.GetTestPdf();

            Assert.AreEqual(expectedPdf, pdfBytes, "PDFs should be the same.");
        }
Beispiel #8
0
        public FulfillmentMessage GetResponse(FulfillmentRequest data)
        {
            var city = ParametersHelper.GetParameter("geo-city", data.QueryResult.Parameters);

            if (string.IsNullOrWhiteSpace(city))
            {
                return(Responsebuilder.BuildTextResponse(new[] { $"Its currently {DateTime.Now:HH:mm}" }));
Beispiel #9
0
        public void UnitTests_Fax_SendMultipleFilesNoOptions()
        {
            var testToNumber = "8088675309";

            Action <IRestRequest> requestAsserts = req =>
            {
                var parameters = ParametersHelper.ToDictionary(req.Parameters);

                Assert.AreEqual(testToNumber, parameters["to[]"]);

                Assert.AreEqual(3, parameters.Count());
            };

            var clientBuilder = new IRestClientBuilder {
                Op = "send", RequestAsserts = requestAsserts
            };
            var phaxio = new PhaxioClient(IRestClientBuilder.TEST_KEY, IRestClientBuilder.TEST_SECRET, clientBuilder.Build());

            var testFile = BinaryFixtures.getTestPdfFile();

            var result = phaxio.SendFax(testToNumber, new List <FileInfo> {
                testFile, testFile
            });

            Assert.AreEqual("1234", result.Id, "FaxId should be the same.");
        }
        public int CreateNominal(decimal value)
        {
            var param = ParametersHelper.CreateFromObject(new { value }).IncludeOutputId();

            ExecuteSP("USP_Nominal_Create", param);
            return(param.GetOutputId());
        }
        public int CreateReport(DateTime date, bool isAutomatic, IEnumerable <ReportDocumentDTO> documents)
        {
            var param = ParametersHelper.CreateFromObject(new { date, isAutomatic, documents }).IncludeOutputId();

            ExecuteSP("USP_Report_Create", param);
            return(param.GetOutputId());
        }
Beispiel #12
0
        public void UnitTests_Fax_DownloadFax_WithOptions()
        {
            Action <IRestRequest> requestAsserts = req =>
            {
                var parameters = ParametersHelper.ToDictionary(req.Parameters);

                Assert.AreEqual(parameters["id"], "1234");
                Assert.AreEqual(parameters["type"], "l");
            };

            var clientBuilder = new IRestClientBuilder {
                Op = "faxFile", RequestAsserts = requestAsserts
            };

            var phaxio = new PhaxioClient(IRestClientBuilder.TEST_KEY, IRestClientBuilder.TEST_SECRET, clientBuilder.BuildUntyped());

            var testPdf = BinaryFixtures.getTestPdfFile();

            var pdfBytes = phaxio.DownloadFax("1234", "l");

            Assert.IsNotEmpty(pdfBytes);

            var expectedPdf = BinaryFixtures.GetTestPdf();

            Assert.AreEqual(expectedPdf, pdfBytes, "PDFs should be the same.");
        }
        public void UnitTests_TestRecieveCallback_WithOptions()
        {
            var testPdf        = BinaryFixtures.getTestPdfFile();
            var testFromNumber = "8088675309";
            var testToNumber   = "2125552368";

            Action <IRestRequest> requestAsserts = req =>
            {
                Assert.AreEqual(1, req.Files.Count);
                Assert.AreEqual("filename", req.Files[0].Name);

                var parameters = ParametersHelper.ToDictionary(req.Parameters);

                Assert.AreEqual(parameters["from_number"], testFromNumber);
                Assert.AreEqual(parameters["to_number"], testToNumber);
            };

            var clientBuilder = new IRestClientBuilder {
                Op = "testReceive", RequestAsserts = requestAsserts
            };

            var phaxio = new PhaxioClient(IRestClientBuilder.TEST_KEY, IRestClientBuilder.TEST_SECRET, clientBuilder.Build());

            var result = phaxio.TestRecieveCallback(testPdf, fromNumber: testFromNumber, toNumber: testToNumber);

            Assert.IsTrue(result.Success, "Result should be Success = true.");
        }
Beispiel #14
0
        public void UnitTests_V2_Fax_Download()
        {
            var pdfInBytes = BinaryFixtures.GetTestPdf();

            Action <IRestRequest> parameterAsserts = req =>
            {
                var parameters = ParametersHelper.ToDictionary(req.Parameters);

                Assert.AreEqual(parameters["thumbnail"], "l");
            };

            var requestAsserts = new RequestAsserts()
                                 .Auth()
                                 .Get()
                                 .Custom(parameterAsserts)
                                 .Resource("faxes/123456/file")
                                 .Build();

            var restClient = new RestClientBuilder()
                             .WithRequestAsserts(requestAsserts)
                             .AsPdf()
                             .RawBytes(pdfInBytes)
                             .Ok()
                             .Build();

            var phaxio = new PhaxioClient(RestClientBuilder.TEST_KEY, RestClientBuilder.TEST_SECRET, restClient);

            var fax = new FaxFile(123456, thumbnail: "l");

            fax.PhaxioClient = phaxio;

            var faxBytes = fax.Bytes;

            Assert.AreEqual(pdfInBytes, faxBytes, "Fax bytes should be the same");
        }
Beispiel #15
0
        public bool Exists(string name, int id)
        {
            var param = ParametersHelper.CreateFromObject(new { name }).IncludeId(id);
            var sql   = "SELECT [dbo].[fn_Package_Exists](@name, @id)";

            return(ExecuteAggregateQuery <bool>(sql, param));
        }
Beispiel #16
0
        public void UnitTests_V2_PhaxCode_Create()
        {
            Action <IRestRequest> parameterAsserts = req =>
            {
                var parameters = ParametersHelper.ToDictionary(req.Parameters);

                Assert.AreEqual("stuff", parameters["metadata"]);
            };

            var requestAsserts = new RequestAsserts()
                                 .Auth()
                                 .Post()
                                 .Custom(parameterAsserts)
                                 .Resource("phax_codes.json")
                                 .Build();

            var restClient = new RestClientBuilder()
                             .WithRequestAsserts(requestAsserts)
                             .AsJson()
                             .Content(JsonResponseFixtures.FromFile("V2/phax_code"))
                             .Ok()
                             .Build <Response <PhaxCode> >();

            var phaxio = new PhaxioClient(RestClientBuilder.TEST_KEY, RestClientBuilder.TEST_SECRET, restClient);

            var code = phaxio.PhaxCode.Create("stuff");

            Assert.AreEqual("1234", code.Identifier);
        }
Beispiel #17
0
        private static IDbCommand CreateQueryCommand(IDbConnection connection, string sql, params object[] args)
        {
            // Perform named argument replacements
            if (null != args)
            {
                var new_args = new List <object>();
                sql  = ParametersHelper.ProcessParams(sql, args, new_args);
                args = new_args.ToArray();
            }

            // Create the command and add parameters
            IDbCommand cmd = connection.CreateCommand();

            cmd.Connection  = connection;
            cmd.CommandType = CommandType.Text;
            cmd.CommandText = sql;
            cmd.Transaction = null;
            if (null != args)
            {
                foreach (var item in args)
                {
                    AddQueryParam(cmd, item);
                }
            }
            return(cmd);
        }
Beispiel #18
0
        public IEnumerable <TicketEM> GetDuplicatesWith(int id)
        {
            var param = ParametersHelper.CreateIdParameter(id);

            return(ExecuteSP <TicketEM, PackageEM, SerialEM, ColorEM, NominalEM, TicketEM>("USP_Ticket_GetDuplicatesWith",
                                                                                           TicketEM.MapTicket, SPLIT_ON, param));
        }
Beispiel #19
0
        public int CreateSpecialPackage(PackageSpecialDTO packageDTO)
        {
            var param = ParametersHelper.CreateFromObject(packageDTO).IncludeOutputId();

            ExecuteSP("USP_Package_CreateSpecial", param);
            return(param.GetOutputId());
        }
Beispiel #20
0
        public IEnumerable <TicketEM> GetByNote(string note)
        {
            var param = ParametersHelper.CreateFromObject(new { note });

            return(ExecuteSP <TicketEM, PackageEM, SerialEM, ColorEM, NominalEM, TicketEM>("USP_Ticket_GetByNote",
                                                                                           TicketEM.MapTicket, SPLIT_ON, param));
        }
Beispiel #21
0
        public void UnitTests_Fax_SendSingleWithTags()
        {
            var testToNumber = "8088675309";
            var testOptions  = new FaxOptions
            {
                Tags = new Dictionary <string, string> {
                    { "key1", "value1" }, { "key2", "value2" }
                }
            };

            Action <IRestRequest> requestAsserts = req =>
            {
                var parameters = ParametersHelper.ToDictionary(req.Parameters);

                Assert.AreEqual(testToNumber, parameters["to[]"]);

                foreach (var pair in testOptions.Tags)
                {
                    var tagKey = "tag[" + pair.Key + "]";
                    Assert.IsTrue(parameters.ContainsKey(tagKey));
                    Assert.AreEqual(pair.Value, parameters[tagKey]);
                }
            };

            var clientBuilder = new IRestClientBuilder {
                Op = "send", RequestAsserts = requestAsserts
            };
            var phaxio = new PhaxioClient(IRestClientBuilder.TEST_KEY, IRestClientBuilder.TEST_SECRET, clientBuilder.Build());

            var testFile = BinaryFixtures.getTestPdfFile();

            var result = phaxio.SendFax(testToNumber, testFile, testOptions);

            Assert.AreEqual("1234", result.Id, "FaxId should be the same.");
        }
Beispiel #22
0
        public bool Exists(string number, int colorId, int serialId, string serialNumber, int id)
        {
            var param = ParametersHelper.CreateFromObject(new { number, colorId, serialId, serialNumber }).IncludeId(id);
            var sql   = "SELECT [dbo].[fn_Ticket_Exists](@number, @colorId, @serialId, @serialNumber, @id)";

            return(ExecuteAggregateQuery <bool>(sql, param));
        }
Beispiel #23
0
        public void UnitTests_GetHostedDocument_WithMetadata()
        {
            var metadata = "key";
            var filename = "hostedoc.pdf";

            Action <IRestRequest> requestAsserts = req =>
            {
                var parameters = ParametersHelper.ToDictionary(req.Parameters);

                Assert.AreEqual(parameters["name"], filename);
                Assert.AreEqual(parameters["metadata"], metadata);
            };

            var clientBuilder = new IRestClientBuilder {
                Op = "getHostedDocument", RequestAsserts = requestAsserts
            };

            var phaxio = new PhaxioClient(IRestClientBuilder.TEST_KEY, IRestClientBuilder.TEST_SECRET, clientBuilder.BuildUntyped());

            var testPdf = BinaryFixtures.getTestPdfFile();

            var pdfBytes = phaxio.GetHostedDocument(filename, metadata: metadata);

            Assert.IsNotEmpty(pdfBytes);

            var expectedPdf = BinaryFixtures.GetTestPdf();

            Assert.AreEqual(expectedPdf, pdfBytes, "PDFs should be the same.");
        }
Beispiel #24
0
        public TicketEM GetTicket(int id)
        {
            var param = ParametersHelper.CreateIdParameter(id);

            return(ExecuteSP <TicketEM, PackageEM, SerialEM, ColorEM, NominalEM, TicketEM>("USP_Ticket_Get", TicketEM.MapTicket, SPLIT_ON_SHORT, param)
                   .FirstOrDefault());
        }
Beispiel #25
0
        public IEnumerable <TicketEM> Find(TicketSearchDTO searchDTO)
        {
            var param   = ParametersHelper.CreateFromObject(searchDTO);
            var tickets = ExecuteSP <TicketEM, PackageEM, SerialEM, ColorEM, NominalEM, TicketEM>("USP_Ticket_FindNumber",
                                                                                                  TicketEM.MapTicket, SPLIT_ON, param);

            return(tickets);
        }
Beispiel #26
0
        public IEnumerable <TicketEM> Filter(TicketFilterDTO filterDTO, out int totalCount)
        {
            var param   = ParametersHelper.CreateFromObject(filterDTO).IncludeOutputTotal();
            var tickets = ExecuteSP <TicketEM, PackageEM, SerialEM, ColorEM, NominalEM, TicketEM>("USP_Ticket_Filter",
                                                                                                  TicketEM.MapTicket, SPLIT_ON, param);

            totalCount = param.GetOutputTotal();
            return(tickets);
        }
Beispiel #27
0
        public IEnumerable <TicketEM> GetHappyTickets(IPaging paging, out int totalCount)
        {
            var param   = ParametersHelper.CreateFromObject(paging).IncludeOutputTotal();
            var tickets = ExecuteSP <TicketEM, PackageEM, SerialEM, ColorEM, NominalEM, TicketEM>("USP_Ticket_GetListHappy",
                                                                                                  TicketEM.MapTicket, SPLIT_ON, param);

            totalCount = param.GetOutputTotal();
            return(tickets);
        }
Beispiel #28
0
        public IEnumerable <PackageEM> GetList(bool onlyOpened, bool onlySpecial, IPaging paging, out int totalCount)
        {
            var param = ParametersHelper.CreateFromObject(paging, new { onlyOpened, onlySpecial }).IncludeOutputTotal();

            var packages = ExecuteSP <PackageEM, SerialEM, ColorEM, NominalEM, PackageEM>("USP_Package_GetList", PackageEM.MapPackage, SPLIT_ON, param);

            totalCount = param.GetOutputTotal();
            return(packages);
        }
Beispiel #29
0
        public void ConferencesConnectorListConferencesTest()
        {
            const string methodName = "listConferences";

            using (new MockServer(Port, "Accounts/{accountSid}/Conferences.json", (req, rsp, prm) =>
            {
                // Check http method
                if (!req.HttpMethod.Equals("GET"))
                {
                    throw new ArgumentException();
                }

                // Check parameter equality
                ParametersHelper.CheckParametersEquality(TestGroupName, methodName, "bodyParams", req);
                ParametersHelper.CheckParametersEquality(TestGroupName, methodName, "queryParams", req);

                // Define server response
                var assembly = Assembly.GetExecutingAssembly();
                var streamReader =
                    new StreamReader(
                        assembly.GetManifestResourceStream($"AvayaCPaaS.Tests.{ResponseListJsonFileNameConference}"));
                var json = streamReader.ReadToEnd();

                var buffer = Encoding.ASCII.GetBytes(json);
                rsp.Content(buffer);
            }))
            {
                // Create configuration
                var configuration = new APIConfiguration(AccountSid, AuthToken);
                configuration.BaseUrl = $"http://localhost:{Port}/";

                // Get json request from json file
                var jsonRequest = ParametersHelper.GetJsonRequestByGroupAndMethod(TestGroupName, methodName);

                // Create service
                var service = new CPaaSService(configuration);

                // List conferences using conferences connector
                var conferenceList = service.ConferencesConnector.ListConferences("TestConference",
                                                                                  jsonRequest.QueryParameter("FriendlyName"),
                                                                                  EnumHelper.ParseEnum <ConferenceStatus>(jsonRequest.QueryParameter("Status")),
                                                                                  ParametersHelper.GetDateFromString(jsonRequest.QueryParameter("DateCreated>")),
                                                                                  ParametersHelper.GetDateFromString(jsonRequest.QueryParameter("DateCreated<")),
                                                                                  ParametersHelper.GetDateFromString(jsonRequest.QueryParameter("DateUpdated>")),
                                                                                  ParametersHelper.GetDateFromString(jsonRequest.QueryParameter("DateUpdated<")),
                                                                                  Convert.ToInt32(jsonRequest.QueryParameter("Page")),
                                                                                  Convert.ToInt32(jsonRequest.QueryParameter("PageSize")));

                Assert.AreEqual(2, conferenceList.Total);

                var conference = conferenceList.Elements.First();

                Assert.AreEqual("TestConferenceSid", conference.Sid);
                Assert.AreEqual(ConferenceStatus.COMPLETED, conference.Status);
                Assert.AreEqual("TestConference", conference.FriendlyName);
            }
        }
        public void CallsConnectorListCalls()
        {
            const string methodName = "listCalls";

            using (new MockServer(Port, "Accounts/{accountSid}/Calls.json", (req, rsp, prm) =>
            {
                // Check http method
                if (!req.HttpMethod.Equals("GET"))
                {
                    throw new ArgumentException();
                }

                //// Check parameter equality
                ParametersHelper.CheckParametersEquality(TestGroupName, methodName, "bodyParams", req);
                ParametersHelper.CheckParametersEquality(TestGroupName, methodName, "queryParams", req);

                // Define server response
                var assembly = Assembly.GetExecutingAssembly();
                var streamReader =
                    new StreamReader(assembly.GetManifestResourceStream($"AvayaCPaaS.Tests.{ResponseListJsonFileName}"));
                var json = streamReader.ReadToEnd();

                var buffer = Encoding.ASCII.GetBytes(json);
                rsp.Content(buffer);
            }))
            {
                // Create configuration
                var configuration = new APIConfiguration(AccountSid, AuthToken);
                configuration.BaseUrl = $"http://localhost:{Port}/";

                // Get json request from json file
                var jsonRequest = ParametersHelper.GetJsonRequestByGroupAndMethod(TestGroupName, methodName);

                // Create service
                var service = new CPaaSService(configuration);

                // List calls using calls connector
                var callList = service.CallsConnector.ListCalls(jsonRequest.QueryParameter("To"),
                                                                jsonRequest.QueryParameter("From"), EnumHelper.ParseEnum <CallStatus>(jsonRequest.QueryParameter("Status")),
                                                                ParametersHelper.GetDateFromString(jsonRequest.QueryParameter("StartTime>")),
                                                                ParametersHelper.GetDateFromString(jsonRequest.QueryParameter("StartTime<")), Convert.ToInt32(jsonRequest.QueryParameter("Page")),
                                                                Convert.ToInt32(jsonRequest.QueryParameter("PageSize")));

                Assert.AreEqual(1, callList.Total);
                Assert.AreEqual(1, callList.Numpages);
                Assert.AreEqual(jsonRequest.QueryParameter("Page"), callList.Page.ToString());
                Assert.AreEqual(jsonRequest.QueryParameter("PageSize"), callList.Pagesize.ToString());

                var call = callList.Elements.First();

                Assert.AreEqual(jsonRequest.QueryParameter("To"), call.To);
                Assert.AreEqual(AnsweredBy.TBD, call.AnsweredBy);
                Assert.AreEqual(Convert.ToDecimal(0.1872), call.Price);
                Assert.AreEqual(CallStatus.COMPLETED, call.Status);
            }
        }