示例#1
0
        protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context)
        {
            var emailId = TryParseInt32(context, "emailId");


            var systemManager = VLSystemManager.GetAnInstance(accessToken);
            var email         = systemManager.GetKnownEmailById(emailId);

            if (email != null)
            {
                var _item = new
                {
                    email.Client,
                    email.EmailId,
                    email.EmailAddress,
                    email.LocalPart,
                    email.DomainPart,
                    email.RegisterDt,
                    email.IsDomainOK,
                    email.IsVerified,
                    email.IsOptedOut,
                    email.IsBounced,
                    email.VerifiedDt,
                    email.OptedOutDt
                };

                var response = JsonConvert.SerializeObject(_item, Formatting.None);
                context.Response.Write(response);
            }
            else
            {
                throw new VLException(string.Format("There is no KnownEmail with id='{0}'.", emailId));
            }
        }
        protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context)
        {
            var collectorId   = TryParseInt32(context, "collectorId", true);
            var pageIndex     = TryParseInt32(context, "page", false, 1);
            var pageSize      = TryParseInt32(context, "rows", false, 10);
            var sortIndex     = TryParseString(context, "sidx", false, "Name");
            var sortOrder     = TryParseString(context, "sord", false, "asc");
            var orderByClause = string.Format("order by {0} {1}", sortIndex, sortOrder);

            var systemManager = VLSystemManager.GetAnInstance(accessToken);

            int totalRecords = 0;
            var items        = systemManager.GetChargesForCollector(collectorId, pageIndex, pageSize, ref totalRecords, string.Empty, orderByClause);

            int totalpages = totalRecords / pageSize;

            if (totalpages * pageSize < totalRecords)
            {
                totalpages++;
            }


            var rows = items.Select(c => new
            {
                c.CollectorPaymentId,

                c.SurveyId,

                c.CollectorId,
                c.Responses,
                c.CreditType,

                c.PaymentId,
                c.UseOrder,
                c.QuantityReserved,
                c.QuantityUsed,
                FirstChargeDt = c.FirstChargeDt.HasValue ? c.FirstChargeDt.Value.ToShortDateString() : string.Empty,
                LastChargeDt  = c.LastChargeDt.HasValue ? c.LastChargeDt.Value.ToShortDateString() : string.Empty,
                c.IsActive,
                c.IsUsed,

                PaymentDate = c.PaymentDate.ToShortDateString(),
                c.PaymentIsActive,
                PaymentQuantity = GetPaymentQuantity(c),
                c.PaymentQuantityUsed
            }).ToArray();

            var data = new
            {
                total   = totalpages,   //total pages for the query
                page    = pageIndex,    //current page of the query
                records = totalRecords, //total number of records for the query
                rows
            };


            var response = JsonConvert.SerializeObject(data, Formatting.None);

            context.Response.Write(response);
        }
示例#3
0
        protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context)
        {
            var contactId = TryParseInt32(context, "contactId", true);

            var systemManager = VLSystemManager.GetAnInstance(accessToken);
            var contact       = systemManager.GetContactById(contactId);

            if (contact == null)
            {
                throw new VLException(string.Format("There is no Contact with id='{0}'.", contactId));
            }

            var _item = new
            {
                contact.ClientId,
                contact.ListId,
                contact.ContactId,
                contact.Organization,
                contact.Title,
                contact.Department,
                contact.FirstName,
                contact.LastName,
                contact.Email,
                contact.Comment,
                contact.IsOptedOut,
                contact.IsBouncedEmail,
                CreateDT     = accessToken.ConvertTimeFromUtc(contact.CreateDT).ToString(Utilities.DateTime_Format_General),
                LastUpdateDT = accessToken.ConvertTimeFromUtc(contact.LastUpdateDT).ToString(Utilities.DateTime_Format_General)
            };

            var response = JsonConvert.SerializeObject(_item, Formatting.None);

            context.Response.Write(response);
        }
示例#4
0
        protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context)
        {
            var listId = TryParseInt32(context, "listId", true);

            var systemManager = VLSystemManager.GetAnInstance(accessToken);
            var list          = systemManager.GetClientListById(listId);

            if (list == null)
            {
                throw new VLException(string.Format("There is no List with id='{0}'.", listId));
            }

            var _item = new
            {
                list.Client,
                list.ListId,
                list.Name,
                list.TotalContacts,
                list.CreateDT,
                list.LastUpdateDT
            };

            var response = JsonConvert.SerializeObject(_item, Formatting.None);

            context.Response.Write(response);
        }
        public void CollectorTest02()
        {
            var surveyManager = VLSurveyManager.GetAnInstance(admin);
            var systemManager = VLSystemManager.GetAnInstance(admin);


            try
            {
                //We create a customer:
                var client1 = systemManager.CreateClient("MySoftavia S.A.", BuiltinCountries.Greece, "man", profile: BuiltinProfiles.UTESTFree.ProfileId);
                Assert.IsNotNull(client1);
                //We create a survey:
                var survey1 = surveyManager.CreateSurvey(client1, "Questionnaire #1", "Risk assessment");
                Assert.IsTrue(survey1.Client == client1.ClientId);
                //ΔΗΜΙΟΥΡΓΟΥΜΕ ΕΝΑ COLLECTOR:
                var collector01 = surveyManager.CreateCollector(survey1.SurveyId, CollectorType.Email, "COLLECTOR01_email");
                Assert.IsNotNull(collector01);


                //δεν έχουμε κανένα message:
                Assert.IsTrue(surveyManager.GetMessages(collector01).Count == 0);

                //ΔΗΜΙΟΥΡΓΟΥΜΕ ΕΝΑ MESSAGE:
                var message01 = surveyManager.CreateMessage(collector01, "*****@*****.**", "please answer the following questions", "We are conducting a survey, and your response would be appreciated. Here is a link to the survey: [SurveyLink]. In Order to be removed: [RemoveLink]");
                Assert.IsNotNull(message01);
                Assert.IsTrue(message01.Collector == collector01.CollectorId);

                var svdMessage01 = surveyManager.GetMessageById(message01.MessageId);
                Assert.AreEqual <VLMessage>(message01, svdMessage01);


                //έχουμε ένα message:
                Assert.IsTrue(surveyManager.GetMessages(collector01).Count == 1);
            }
            finally
            {
                var surveys = surveyManager.GetSurveys(textsLanguage: BuiltinLanguages.PrimaryLanguage);
                foreach (var item in surveys)
                {
                    if (item.IsBuiltIn)
                    {
                        continue;
                    }

                    surveyManager.DeleteSurvey(item);
                }

                var clients = systemManager.GetClients();
                foreach (var client in clients)
                {
                    if (client.IsBuiltIn)
                    {
                        continue;
                    }

                    systemManager.DeleteClient(client);
                }
            }
        }
        protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context)
        {
            var clientId      = TryParseInt32(context, "ClientId", true);
            var pageIndex     = TryParseInt32(context, "page", false, 1);
            var pageSize      = TryParseInt32(context, "rows", false, 10);
            var sortIndex     = TryParseString(context, "sidx", false, "Name");
            var sortOrder     = TryParseString(context, "sord", false, "asc");
            var orderByClause = string.Format("order by {0} {1}", sortIndex, sortOrder);

            var systemManager = VLSystemManager.GetAnInstance(accessToken);

            int totalRecords = 0;
            var items        = systemManager.GetPayments(clientId, pageIndex, pageSize, ref totalRecords, string.Empty, orderByClause);

            int totalpages = totalRecords / pageSize;

            if (totalpages * pageSize < totalRecords)
            {
                totalpages++;
            }


            var rows = items.Select(c => new
            {
                c.PaymentId,
                c.Client,
                c.Comment,
                c.PaymentType,
                c.PaymentDate,
                c.CustomCode1,
                c.CustomCode2,
                c.IsActive,
                c.IsTimeLimited,
                c.ValidFromDt,
                c.ValidToDt,
                c.CreditType,
                c.Quantity,
                c.QuantityUsed,
                c.CreateDT
            }).ToArray();

            var data = new
            {
                total   = totalpages,   //total pages for the query
                page    = pageIndex,    //current page of the query
                records = totalRecords, //total number of records for the query
                rows
            };


            var response = JsonConvert.SerializeObject(data, Formatting.None);

            context.Response.Write(response);
        }
示例#7
0
        protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context)
        {
            var contactId = TryParseInt32(context, "contactId", true);

            var systemManager = VLSystemManager.GetAnInstance(accessToken);

            systemManager.DeleteContact(contactId);

            //empty json object
            context.Response.Write("{}");
        }
示例#8
0
        protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context)
        {
            var pageIndex     = TryParseInt32(context, "page", false, 1);
            var pageSize      = TryParseInt32(context, "rows", false, 10);
            var sortIndex     = TryParseString(context, "sidx", false, "Name");
            var sortOrder     = TryParseString(context, "sord", false, "asc");
            var orderByClause = string.Format("order by {0} {1}", sortIndex, sortOrder);

            var systemManager = VLSystemManager.GetAnInstance(accessToken);

            int totalRecords = 0;
            var items        = systemManager.GetClientExs(pageIndex, pageSize, ref totalRecords, string.Empty, orderByClause);

            int totalpages = totalRecords / pageSize;

            if (totalpages * pageSize < totalRecords)
            {
                totalpages++;
            }


            var rows = items.Select(c => new
            {
                c.ClientId,
                c.Code,
                c.Name,
                c.Profession,
                c.Country,
                c.Prefecture,
                c.Town,
                c.Address,
                c.Zip,
                c.Telephone1,
                c.Telephone2,
                c.WebSite,
                c.IsBuiltIn,
                c.Profile,
                c.ProfileName,
                c.CreateDT
            }).ToArray();
            var data = new
            {
                total   = totalpages,   //total pages for the query
                page    = pageIndex,    //current page of the query
                records = totalRecords, //total number of records for the query
                rows
            };


            var response = JsonConvert.SerializeObject(data, Formatting.None);

            context.Response.Write(response);
        }
示例#9
0
        protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context)
        {
            //we will need an instance of a LrSystem:
            var systemManager = VLSystemManager.GetAnInstance(accessToken);

            //gather required values:
            var userId = TryParseInt32(context, "UserId", true);

            systemManager.UnlockPrincipal(PrincipalType.SystemUser, userId);

            //empty json object
            context.Response.Write("{}");
        }
        protected override void ProcessGetRequestWrapped(VLAccessToken accessToken, HttpContext context)
        {
            var pageIndex     = TryParseInt32(context, "page", false, 1);
            var pageSize      = TryParseInt32(context, "rows", false, 10);
            var sortIndex     = TryParseString(context, "sidx", false, "Name");
            var sortOrder     = TryParseString(context, "sord", false, "asc");
            var orderByClause = string.Format("order by {0} {1}", sortIndex, sortOrder);


            var systemManager = VLSystemManager.GetAnInstance(accessToken);

            int totalRecords = 0;
            var items        = systemManager.GetSystemUserViews(pageIndex, pageSize, ref totalRecords, string.Empty, orderByClause);

            int totalpages = totalRecords / pageSize;

            if (totalpages * pageSize < totalRecords)
            {
                totalpages++;
            }

            var rows = items.Select(c => new
            {
                c.UserId,
                c.DefaultLanguageName,
                c.FirstName,
                c.LastName,
                c.Email,
                c.IsActive,
                c.IsBuiltIn,
                c.RoleName,
                c.LastActivityDate,
                c.LogOnToken,
                c.IsApproved,
                c.IsLockedOut,
                c.LastLoginDate,
                c.CreateDT
            }).ToArray();
            var data = new
            {
                total   = totalpages,   //total pages for the query
                page    = pageIndex,    //current page of the query
                records = totalRecords, //total number of records for the query
                rows
            };


            var response = JsonConvert.SerializeObject(data, Formatting.None);

            context.Response.Write(response);
        }
示例#11
0
        protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context)
        {
            var collectorId   = TryParseInt32(context, "collectorId");
            var textsLanguage = TryParseInt16(context, "textsLanguage");


            var manager         = VLSurveyManager.GetAnInstance(accessToken);
            var sysmanager      = VLSystemManager.GetAnInstance(accessToken);
            var collector       = manager.GetCollectorById(collectorId, textsLanguage);
            var hasUsedPayments = false;

            if (collector != null)
            {
                var totalScheduledMessages = manager.GetScheduledMessagesCount(collector.CollectorId);
                var totalResponses         = manager.GetResponsesCountForCollector(collector.Survey, collector.CollectorId);
                var totalPayments          = sysmanager.GetCollectorPayments(collectorId);
                foreach (var tp in totalPayments)
                {
                    if (tp.IsUsed)
                    {
                        hasUsedPayments = true;
                        break;
                    }
                }

                var _collector = new
                {
                    collector.CollectorId,
                    collector.Survey,
                    collector.CollectorType,
                    collector.Name,
                    collector.AttributeFlags,
                    collector.Status,
                    collector.Responses,
                    collector.SupportedLanguagesIds,
                    collector.PrimaryLanguage,
                    ScheduledMessages = totalScheduledMessages,
                    TotalResponses    = totalResponses,
                    HasUsedPayments   = hasUsedPayments,
                    CreateDT          = collector.CreateDT.ToString(Utilities.DateTime_Format_General),
                    LastUpdateDT      = collector.LastUpdateDT.ToString(Utilities.DateTime_Format_General)
                };

                var response = JsonConvert.SerializeObject(_collector, Formatting.None);
                context.Response.Write(response);
            }
            else
            {
                throw new VLException(string.Format("There is no Collector with id='{0},{1}'.", collectorId, textsLanguage));
            }
        }
示例#12
0
        public void RolesTest03()
        {
            var systemManager = VLSystemManager.GetAnInstance(admin);

            try
            {
                VLAccessToken _atoken = new VLAccessToken(admin);

                //Δημιουργούμε ένα νέο ρόλο:
                var role01 = systemManager.CreateRole("ρόλος1", permissions: VLPermissions.Developer | VLPermissions.ManageSecurity);
                Assert.IsNotNull(role01);
                _atoken.Permissions = role01.Permissions;

                var _manager = new TestManager(_atoken);
                Assert.IsFalse(_manager.HasPermissions(VLPermissions.ManageSystem));
                Assert.IsFalse(_manager.ValidatePermissions(VLPermissions.ManageSystem));
                _EXECUTEAndCATCHType(delegate { _manager.CheckPermissions(VLPermissions.ManageSystem); }, typeof(VLAccessDeniedException));


                Assert.IsFalse(_manager.HasPermissions(VLPermissions.ManageSystem | VLPermissions.Developer));
                Assert.IsFalse(_manager.ValidatePermissions(VLPermissions.ManageSystem | VLPermissions.Developer));
                _EXECUTEAndCATCHType(delegate { _manager.CheckPermissions(VLPermissions.ManageSystem | VLPermissions.Developer); }, typeof(VLAccessDeniedException));

                Assert.IsFalse(_manager.HasPermissions(VLPermissions.ManageSystem | VLPermissions.Developer | VLPermissions.ManageSecurity));
                Assert.IsFalse(_manager.ValidatePermissions(VLPermissions.ManageSystem | VLPermissions.Developer | VLPermissions.ManageSecurity));
                _EXECUTEAndCATCHType(delegate { _manager.CheckPermissions(VLPermissions.ManageSystem | VLPermissions.Developer | VLPermissions.ManageSecurity); }, typeof(VLAccessDeniedException));


                Assert.IsTrue(_manager.HasPermissions(VLPermissions.Developer | VLPermissions.ManageSecurity));
                Assert.IsTrue(_manager.ValidatePermissions(VLPermissions.Developer | VLPermissions.ManageSecurity));
                _EXECUTE_SUCCESS(delegate { _manager.ValidatePermissions(VLPermissions.Developer | VLPermissions.ManageSecurity); });


                Assert.IsTrue(_manager.ValidatePermissions(VLPermissions.ManageSystemParameters, VLPermissions.Developer | VLPermissions.ManageSecurity));
                _EXECUTE_SUCCESS(delegate { _manager.ValidatePermissions(VLPermissions.ManageSystemParameters, VLPermissions.Developer | VLPermissions.ManageSecurity); });

                Assert.IsTrue(_manager.ValidatePermissions(VLPermissions.ManageThemes, VLPermissions.ManageSystemParameters | VLPermissions.ManageSecurity, VLPermissions.Developer | VLPermissions.ManageSecurity));
                _EXECUTE_SUCCESS(delegate { _manager.ValidatePermissions(VLPermissions.ManageThemes, VLPermissions.ManageSystemParameters | VLPermissions.ManageSecurity, VLPermissions.Developer | VLPermissions.ManageSecurity); });
            }
            finally
            {
                var roles = systemManager.GetRoles();
                foreach (var item in roles)
                {
                    if (item.IsBuiltIn == false)
                    {
                        systemManager.DeleteRole(item.RoleId);
                    }
                }
            }
        }
        protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context)
        {
            //we will need an instance of a LrSystem:
            var systemManager = VLSystemManager.GetAnInstance(accessToken);

            //gather required values:
            var userId       = TryParseInt32(context, "UserId", true);
            var newPswdToken = TryParseString(context, "npt", true);

            systemManager.SetNewPassword(PrincipalType.ClientUser, userId, newPswdToken);

            //empty json object
            context.Response.Write("{}");
        }
示例#14
0
        protected override void ProcessPostRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context)
        {
            var logontoken = TryParseString(context, "logontoken", true);
            var oldPass    = TryParseString(context, "oldPass", true);
            var newPass    = TryParseString(context, "newPass", true);


            //we will need an instance of a VLSystemManager:
            var systemManager = VLSystemManager.GetAnInstance(accessToken);

            systemManager.ChangePassword(logontoken, oldPass, newPass);

            //empty json object
            context.Response.Write("{}");
        }
示例#15
0
        public void SurveyResponsesTest01_02()
        {
            var systemManager = VLSystemManager.GetAnInstance(admin);
            var surveyManager = VLSurveyManager.GetAnInstance(admin);

            try
            {
                //We create a customer:
                var client = systemManager.CreateClient("MySoftavia S.A.", BuiltinCountries.Greece, "man", profile: BuiltinProfiles.UTESTFree.ProfileId);
                Assert.IsNotNull(client);



                var survey = CreateSurvey1(surveyManager, client);
            }
            finally
            {
                var surveys = surveyManager.GetSurveys(textsLanguage: BuiltinLanguages.PrimaryLanguage);
                foreach (var item in surveys)
                {
                    var responses = surveyManager.GetResponses(item.SurveyId);
                    foreach (var a in responses)
                    {
                        surveyManager.DeleteResponse(a);
                    }

                    if (item.IsBuiltIn)
                    {
                        continue;
                    }

                    surveyManager.DeleteSurvey(item);
                }
                surveyManager.DeleteAllSessions();

                var clients = systemManager.GetClients();
                foreach (var client in clients)
                {
                    if (client.IsBuiltIn)
                    {
                        continue;
                    }

                    systemManager.DeleteClient(client);
                }
            }
        }
示例#16
0
        protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context)
        {
            var loginId = TryParseInt32(context, "loginId");

            var systemManager = VLSystemManager.GetAnInstance(accessToken);
            var login         = systemManager.GetLoginById(loginId);

            if (login != null)
            {
                var response = JsonConvert.SerializeObject(login, Formatting.None);
                context.Response.Write(response);
            }
            else
            {
                throw new VLException(string.Format("There is no Login with id='{0}'.", loginId));
            }
        }
示例#17
0
        protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context)
        {
            var contactId = TryParseInt32(context, "contactId", true);

            var systemManager = VLSystemManager.GetAnInstance(accessToken);
            var contact       = systemManager.GetContactById(contactId);

            if (contact == null)
            {
                throw new VLException(string.Format("There is no Contact with id='{0}'.", contactId));
            }

            contact.Organization = TryParseString(context, "Organization", false, contact.Organization);
            contact.Title        = TryParseString(context, "Title", false, contact.Title);
            contact.Department   = TryParseString(context, "Department", false, contact.Department);
            contact.FirstName    = TryParseString(context, "FirstName", false, contact.FirstName);
            contact.LastName     = TryParseString(context, "LastName", false, contact.LastName);
            contact.Email        = TryParseString(context, "Email", false, contact.Email);
            contact.Comment      = TryParseString(context, "Comment", false, contact.Comment);

            contact = systemManager.UpdateContact(contact);

            var _item = new
            {
                contact.ClientId,
                contact.ListId,
                contact.ContactId,
                contact.Organization,
                contact.Title,
                contact.Department,
                contact.FirstName,
                contact.LastName,
                contact.Email,
                contact.Comment,
                contact.IsOptedOut,
                contact.IsBouncedEmail,
                contact.CreateDT
            };

            var response = JsonConvert.SerializeObject(_item, Formatting.None);

            context.Response.Write(response);
        }
        protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context)
        {
            var paymentId = TryParseInt32(context, "paymentId", true);

            var systemManager = VLSystemManager.GetAnInstance(accessToken);

            var items = systemManager.GetCharges(paymentId);

            var rows = items.Select(c => new
            {
                c.SurveyId,
                c.SurveyTitle,
                c.CollectorId,
                c.CollectorTitle,
                c.CollectorType,
                c.Status,
                c.Responses,
                c.CreditType,
                c.CreationDT,
                c.CreatedBy,
                c.CollectorPaymentId,
                c.PaymentId,
                c.UseOrder,
                c.QuantityReserved,
                c.QuantityUsed,
                FirstChargeDt = c.FirstChargeDt.HasValue ? c.FirstChargeDt.Value.ToShortDateString() : string.Empty,
                LastChargeDt  = c.LastChargeDt.HasValue ? c.LastChargeDt.Value.ToShortDateString() : string.Empty
            }).ToArray();

            var data = new
            {
                total   = 1,           //total pages for the query
                page    = 1,           //current page of the query
                records = items.Count, //total number of records for the query
                rows
            };



            var response = JsonConvert.SerializeObject(data, Formatting.None);

            context.Response.Write(response);
        }
示例#19
0
        protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context)
        {
            var listName = TryParseString(context, "listName", true);


            var systemManager = VLSystemManager.GetAnInstance(accessToken);
            var list          = systemManager.CreateClientList(accessToken.ClientId.Value, listName);

            var _item = new
            {
                list.Client,
                list.ListId,
                list.Name,
                list.CreateDT,
                list.LastUpdateDT
            };

            var response = JsonConvert.SerializeObject(_item, Formatting.None);

            context.Response.Write(response);
        }
示例#20
0
        protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context)
        {
            var listId        = TryParseInt32(context, "listId", true);
            var systemManager = VLSystemManager.GetAnInstance(accessToken);

            var contact = new VLContact();

            contact.ListId       = listId;
            contact.Organization = TryParseString(context, "Organization", false);
            contact.Title        = TryParseString(context, "Title", false);
            contact.Department   = TryParseString(context, "Department", false);
            contact.FirstName    = TryParseString(context, "FirstName", false);
            contact.LastName     = TryParseString(context, "LastName", false);
            contact.Email        = TryParseString(context, "Email", true);
            contact.Comment      = TryParseString(context, "Comment", false);

            //we create the contact:
            contact = systemManager.CreateContact(contact);

            var _item = new
            {
                contact.ClientId,
                contact.ListId,
                contact.ContactId,
                contact.Organization,
                contact.Title,
                contact.Department,
                contact.FirstName,
                contact.LastName,
                contact.Email,
                contact.Comment,
                contact.IsOptedOut,
                contact.IsBouncedEmail,
                contact.CreateDT
            };

            var response = JsonConvert.SerializeObject(_item, Formatting.None);

            context.Response.Write(response);
        }
示例#21
0
        protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context)
        {
            var collectorPaymentId = TryParseInt32(context, "collectorPaymentId", true);

            var systemManager    = VLSystemManager.GetAnInstance(accessToken);
            var collectorPayment = systemManager.GetCollectorPaymentById(collectorPaymentId);

            if (collectorPayment == null)
            {
                throw new VLException(SR.GetString(SR.There_is_no_item_with_id, "CollectorPayment", collectorPaymentId));
            }

            var payment = systemManager.GetPaymentById(collectorPayment.Payment);

            if (payment == null)
            {
                throw new VLException(SR.GetString(SR.There_is_no_item_with_id, "payment", collectorPayment.Payment));
            }


            var item = new
            {
                payment.PaymentId,
                payment.Quantity,
                payment.QuantityUsed,
                payment.PaymentType,
                payment.CreditType,
                Description = string.Format("{0} {1} {2}", payment.Quantity, payment.CreditType, payment.PaymentDate.ToShortDateString()),
                collectorPayment.QuantityReserved
            };


            var response = JsonConvert.SerializeObject(item, Formatting.None);

            context.Response.Write(response);
        }
示例#22
0
        public void SurveyResponsesTest01_01()
        {
            var systemManager = VLSystemManager.GetAnInstance(admin);
            var surveyManager = VLSurveyManager.GetAnInstance(admin);

            try
            {
                Assert.IsTrue(surveyManager.GetSessions().Count == 0);

                //We create a customer:
                var client = systemManager.CreateClient("MySoftavia S.A.", BuiltinCountries.Greece, "man", profile: BuiltinProfiles.UTESTFree.ProfileId);
                Assert.IsNotNull(client);

                //We create a survey:
                var survey1 = surveyManager.CreateSurvey(client.ClientId, "ερωτηματολόγιο - demo1", "ερωτηματολόγιο - demo1");
                Assert.IsNotNull(survey1);


                //Δημιουργούμε ένα session:
                var session1 = surveyManager.CreateSession(survey1.SurveyId, RuntimeRequestType.Preview);
                Assert.IsTrue(surveyManager.GetSessions().Count == 1);

                session1["key1"] = 34;
                session1["key2"] = "George";
                session1["key3"] = null;
                session1["key4"] = 34.5;

                Assert.AreEqual(session1["key1"], 34);
                Assert.AreEqual(session1["key2"], "George");
                Assert.AreEqual(session1["key3"], null);
                Assert.AreEqual(session1["key4"], 34.5);

                //το αποθηκεύουμε:
                surveyManager.ReleaseSession(session1);
                //Read:
                var svdSession1 = surveyManager.AcquireSession(session1.SessionId);
                Assert.IsNotNull(svdSession1);
                Assert.IsTrue(svdSession1.Survey == survey1.SurveyId);
                foreach (string key in session1.Keys)
                {
                    Assert.AreEqual(session1[key], svdSession1[key]);
                }


                //Δημιουργούμε ένα session:
                var session2 = surveyManager.CreateSession(survey1.SurveyId, RuntimeRequestType.Preview);
                Assert.IsTrue(surveyManager.GetSessions().Count == 2);

                for (int i = 1; i <= 100; i++)
                {
                    session2["key" + i.ToString()] = i;
                }
                //το αποθηκεύουμε:
                surveyManager.ReleaseSession(session2);
                //Read:
                var svdSession2 = surveyManager.AcquireSession(session2.SessionId);
                Assert.IsNotNull(svdSession2);
                foreach (string key in session2.Keys)
                {
                    Assert.AreEqual(session2[key], svdSession2[key]);
                }



                Assert.IsTrue(surveyManager.GetSessions().Count == 2);
                surveyManager.DeleteSession(session1.SessionId);
                Assert.IsTrue(surveyManager.GetSessions().Count == 1);
                surveyManager.DeleteSession(session2.SessionId);
                Assert.IsTrue(surveyManager.GetSessions().Count == 0);
            }
            finally
            {
                var surveys = surveyManager.GetSurveys(textsLanguage: BuiltinLanguages.PrimaryLanguage);
                foreach (var item in surveys)
                {
                    if (item.IsBuiltIn)
                    {
                        continue;
                    }

                    surveyManager.DeleteSurvey(item);
                }
                surveyManager.DeleteAllSessions();

                var clients = systemManager.GetClients();
                foreach (var client in clients)
                {
                    if (client.IsBuiltIn)
                    {
                        continue;
                    }

                    systemManager.DeleteClient(client);
                }
            }
        }
示例#23
0
        public void ViewSummary01_01()
        {
            var surveyManager = VLSurveyManager.GetAnInstance(admin);
            var systemManager = VLSystemManager.GetAnInstance(admin);

            try
            {
                #region Δημιουργούμε έναν πελάτη:
                var client1 = systemManager.CreateClient("MySoftavia S.A.", BuiltinCountries.Greece, "man", profile: BuiltinProfiles.UTESTFree.ProfileId);
                Assert.IsNotNull(client1);
                #endregion

                var survey = CreateSurvey2(surveyManager, client1, "my survey!!!");
                CreateResponsesForSurvey2(surveyManager, survey);

                //Διαβάζουμε το defaultView:
                var defView = surveyManager.GetDefaultView(survey);
                defView = surveyManager.RevertView(defView);
                Assert.IsTrue(defView.NumberOfQuestionFilters == 0);

                //Τραβάμε τα responses με βάση αυτό το view
                var responses = surveyManager.GetViewResponses(defView);
                Assert.IsTrue(responses.Count == 820);
                //τραβάμε το summary αυτού του view:
                var summary = surveyManager.GetViewSummary(defView);
                Assert.IsTrue(summary.RecordedResponses == 820);
                Assert.IsTrue(summary.FilteredResponses == 820);


                //Δημιουργούμε ένα filter: (Αυτοί που έχουν απαντήσει ότι είναι απο το UK)
                var filter1 = surveyManager.AddFilter(defView, 5, new VLFilterDetail {
                    Operator = ComparisonOperator.IsChecked, SelectedOption = 1
                });                                                                                                                                   //From where are you from? (UK);
                responses = surveyManager.GetViewResponses(defView);
                Assert.IsTrue(responses.Count == 197);
                summary = surveyManager.GetViewSummary(defView);
                Assert.IsTrue(summary.RecordedResponses == 820);
                Assert.IsTrue(summary.FilteredResponses == 197);

                //Δημιουργούμε ένα filter: (Αυτοί που έχουν απαντήσει ότι έχουν φίλους το option2 ή to option5):
                var filter2 = surveyManager.AddFilter(defView, 6, new VLFilterDetail {
                    Operator = ComparisonOperator.IsChecked, SelectedOption = 2
                }, new VLFilterDetail {
                    Operator = ComparisonOperator.IsChecked, SelectedOption = 5
                });
                responses = surveyManager.GetViewResponses(defView);
                Assert.IsTrue(responses.Count == 61);
                summary = surveyManager.GetViewSummary(defView);
                Assert.IsTrue(summary.RecordedResponses == 820);
                Assert.IsTrue(summary.FilteredResponses == 61);

                //Δημιουργούμε ένα filter: (αυτοί των οποίων η ηλικία είναι μεταξύ 10 και 50 χρονων:
                var filter3 = surveyManager.AddFilter(defView, 2, new VLFilterDetail {
                    Operator = ComparisonOperator.Between, UserInput1 = "10", UserInput2 = "50"
                });
                responses = surveyManager.GetViewResponses(defView);
                Assert.IsTrue(responses.Count == 44);
                summary = surveyManager.GetViewSummary(defView);
                Assert.IsTrue(summary.RecordedResponses == 820);
                Assert.IsTrue(summary.FilteredResponses == 44);
                //Δημιουργούμε ένα filter (Που να έχουν απαντήσει οτιδήποτε για βαθμό των μαθηματικών: )
                var filter4 = surveyManager.AddFilter(defView, 8, new VLFilterDetail {
                    Operator = ComparisonOperator.IsChecked, SelectedOption = 4
                });
                responses = surveyManager.GetViewResponses(defView);
                Assert.IsTrue(responses.Count == 28);
                summary = surveyManager.GetViewSummary(defView);
                Assert.IsTrue(summary.RecordedResponses == 820);
                Assert.IsTrue(summary.FilteredResponses == 28);

                //Δημιουργούμε ένα filter (Που να έχουν απαντήσει για βαθμό των μαθηματικών 7,8,9,10: )
                var filter4a = surveyManager.AddFilter(defView, 8, new VLFilterDetail {
                    Operator = ComparisonOperator.IsChecked, SelectedOption = 4, SelectedColumn = 7
                }, new VLFilterDetail {
                    Operator = ComparisonOperator.IsChecked, SelectedOption = 4, SelectedColumn = 8
                }, new VLFilterDetail {
                    Operator = ComparisonOperator.IsChecked, SelectedOption = 4, SelectedColumn = 9
                }, new VLFilterDetail {
                    Operator = ComparisonOperator.IsChecked, SelectedOption = 4, SelectedColumn = 10
                });
                //Απενεργοποιούμε το filter4:
                filter4 = surveyManager.DisableViewFilter(filter4);
                Assert.IsFalse(filter4.IsActive);
                //Responses ?
                responses = surveyManager.GetViewResponses(defView);
                Assert.IsTrue(responses.Count == 11);
                summary = surveyManager.GetViewSummary(defView);
                Assert.IsTrue(summary.RecordedResponses == 820);
                Assert.IsTrue(summary.FilteredResponses == 11);


                //Απενεργοποιούμε το filter2
                filter2 = surveyManager.DisableViewFilter(filter2);
                Assert.IsFalse(filter2.IsActive);
                //Responses ?
                responses = surveyManager.GetViewResponses(defView);
                Assert.IsTrue(responses.Count == 28);
                summary = surveyManager.GetViewSummary(defView);
                Assert.IsTrue(summary.RecordedResponses == 820);
                Assert.IsTrue(summary.FilteredResponses == 28);


                //Ενεργοποιούμε το filter2:
                filter2 = surveyManager.EnableViewFilter(filter2);
                Assert.IsTrue(filter2.IsActive);
                //Responses ?
                responses = surveyManager.GetViewResponses(defView);
                Assert.IsTrue(responses.Count == 11);
                summary = surveyManager.GetViewSummary(defView);
                Assert.IsTrue(summary.RecordedResponses == 820);
                Assert.IsTrue(summary.FilteredResponses == 11);


                //Απενεργοποιούμε το filter1
                filter1 = surveyManager.DisableViewFilter(filter1);
                Assert.IsFalse(filter1.IsActive);
                //Responses ?
                responses = surveyManager.GetViewResponses(defView);
                Assert.IsTrue(responses.Count == 39);
                summary = surveyManager.GetViewSummary(defView);
                Assert.IsTrue(summary.RecordedResponses == 820);
                Assert.IsTrue(summary.FilteredResponses == 39);
            }
            finally
            {
                #region
                var surveys = surveyManager.GetSurveys(textsLanguage: BuiltinLanguages.PrimaryLanguage);
                foreach (var item in surveys)
                {
                    if (item.IsBuiltIn)
                    {
                        continue;
                    }

                    var collectors = surveyManager.GetCollectors(item);
                    foreach (var c in collectors)
                    {
                        if (c.Status == CollectorStatus.Open)
                        {
                            surveyManager.CloseCollector(c);
                        }
                    }

                    surveyManager.DeleteSurvey(item);
                }

                var clients = systemManager.GetClients();
                foreach (var client in clients)
                {
                    if (client.IsBuiltIn)
                    {
                        continue;
                    }

                    systemManager.DeleteClient(client);
                }
                #endregion
            }
        }
示例#24
0
        public void ClientLists02_02()
        {
            var systemManager = VLSystemManager.GetAnInstance(admin);

            try
            {
                #region Δημιουργία δύο πελατών με λίστες που περιέχουν ίδιες επαφές:
                //We create a customer:
                var client1 = systemManager.CreateClient("MySoftavia S.A.", BuiltinCountries.Greece, "man", profile: BuiltinProfiles.UTESTFree.ProfileId);
                Assert.IsNotNull(client1);
                //We create a contact list:
                var list01a = systemManager.CreateClientList(client1.ClientId, "my-list-01a");
                //We create a contact list:
                var list01b = systemManager.CreateClientList(client1.ClientId, "my-list-01b");


                //Εισαγωγή 10 γραμμών στην list01a
                using (var fs = new FileStream(Path.Combine(_ImportFilesPath, "MOCK_DATA_10a.csv"), FileMode.Open))
                {
                    systemManager.ImportContactsFromCSV(list01a.ListId, fs, new ContactImportOptions {
                        HasHeaderRecord = true, ContinueOnError = true, EmailOrdinal = 2, FirstNameOrdinal = 3, LastNameOrdinal = 4
                    });
                }
                systemManager.CreateContact(list01a.ListId, "*****@*****.**", "George", "milonakis");

                //Εισαγωγή 10 γραμμών στην list01b
                using (var fs = new FileStream(Path.Combine(_ImportFilesPath, "MOCK_DATA_10a.csv"), FileMode.Open))
                {
                    systemManager.ImportContactsFromCSV(list01b.ListId, fs, new ContactImportOptions {
                        HasHeaderRecord = true, ContinueOnError = true, EmailOrdinal = 2, FirstNameOrdinal = 3, LastNameOrdinal = 4
                    });
                }


                //We create one more client:
                var client2 = systemManager.CreateClient("FastrishCert S.A.", BuiltinCountries.Greece, "pcert", profile: BuiltinProfiles.UTESTFree.ProfileId);
                Assert.IsNotNull(client2);
                //We create a contact list:
                var list02 = systemManager.CreateClientList(client2.ClientId, "my-list-02");

                //Εισαγωγή 10 γραμμών στην list02
                using (var fs = new FileStream(Path.Combine(_ImportFilesPath, "MOCK_DATA_10a.csv"), FileMode.Open))
                {
                    systemManager.ImportContactsFromCSV(list02.ListId, fs, new ContactImportOptions {
                        HasHeaderRecord = true, ContinueOnError = true, EmailOrdinal = 2, FirstNameOrdinal = 3, LastNameOrdinal = 4
                    });
                }
                #endregion


                list01a = systemManager.GetClientListById(list01a.ListId);
                Assert.IsTrue(list01a.TotalContacts == 11);
                Assert.IsTrue(systemManager.GetContacts(list01a).Count == 11);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01a).Count == 0);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01a).Count == 0);

                list01b = systemManager.GetClientListById(list01b.ListId);
                Assert.IsTrue(list01b.TotalContacts == 10);
                Assert.IsTrue(systemManager.GetContacts(list01b).Count == 10);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01b).Count == 0);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01b).Count == 0);

                list02 = systemManager.GetClientListById(list02.ListId);
                Assert.IsTrue(list02.TotalContacts == 10);
                Assert.IsTrue(systemManager.GetContacts(list02).Count == 10);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list02).Count == 0);
                Assert.IsTrue(systemManager.GetBouncedContacts(list02).Count == 0);


                //Κάνουμε bounce ένα μοναδικό email που βρίσκεται μόνο στην list01a:
                Assert.IsTrue(systemManager.BounceContacts(client1, "*****@*****.**") == 1);

                #region ΕΛΕΓΧΟΥΜΕ:
                list01a = systemManager.GetClientListById(list01a.ListId);
                Assert.IsTrue(list01a.TotalContacts == 11);
                Assert.IsTrue(systemManager.GetContacts(list01a).Count == 11);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01a).Count == 0);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01a).Count == 1);

                list01b = systemManager.GetClientListById(list01b.ListId);
                Assert.IsTrue(list01b.TotalContacts == 10);
                Assert.IsTrue(systemManager.GetContacts(list01b).Count == 10);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01b).Count == 0);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01b).Count == 0);

                list02 = systemManager.GetClientListById(list02.ListId);
                Assert.IsTrue(list02.TotalContacts == 10);
                Assert.IsTrue(systemManager.GetContacts(list02).Count == 10);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list02).Count == 0);
                Assert.IsTrue(systemManager.GetBouncedContacts(list02).Count == 0);
                #endregion

                //Κάνουμε bounce τρία (3) email που βρίσκεται στην list01a και στην list01b:
                Assert.IsTrue(systemManager.BounceContacts(client1, "*****@*****.**") == 2);
                Assert.IsTrue(systemManager.BounceContacts(client1, "*****@*****.**") == 2);
                Assert.IsTrue(systemManager.BounceContacts(client1, "*****@*****.**") == 2);

                #region ΕΛΕΓΧΟΥΜΕ:
                list01a = systemManager.GetClientListById(list01a.ListId);
                Assert.IsTrue(list01a.TotalContacts == 11);
                Assert.IsTrue(systemManager.GetContacts(list01a).Count == 11);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01a).Count == 0);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01a).Count == 4);

                list01b = systemManager.GetClientListById(list01b.ListId);
                Assert.IsTrue(list01b.TotalContacts == 10);
                Assert.IsTrue(systemManager.GetContacts(list01b).Count == 10);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01b).Count == 0);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01b).Count == 3);

                list02 = systemManager.GetClientListById(list02.ListId);
                Assert.IsTrue(list02.TotalContacts == 10);
                Assert.IsTrue(systemManager.GetContacts(list02).Count == 10);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list02).Count == 0);
                Assert.IsTrue(systemManager.GetBouncedContacts(list02).Count == 0);
                #endregion


                //Κάνουμε optedout τρία (3) email που βρίσκonται στην list01a και στην list01b:
                Assert.IsTrue(systemManager.OptOutContacts(client1, "*****@*****.**") == 2);
                Assert.IsTrue(systemManager.OptOutContacts(client1, "*****@*****.**") == 2);
                Assert.IsTrue(systemManager.OptOutContacts(client1, "*****@*****.**") == 2);

                #region ΕΛΕΓΧΟΥΜΕ:
                list01a = systemManager.GetClientListById(list01a.ListId);
                Assert.IsTrue(list01a.TotalContacts == 11);
                Assert.IsTrue(systemManager.GetContacts(list01a).Count == 11);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01a).Count == 3);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01a).Count == 4);

                list01b = systemManager.GetClientListById(list01b.ListId);
                Assert.IsTrue(list01b.TotalContacts == 10);
                Assert.IsTrue(systemManager.GetContacts(list01b).Count == 10);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01b).Count == 3);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01b).Count == 3);

                list02 = systemManager.GetClientListById(list02.ListId);
                Assert.IsTrue(list02.TotalContacts == 10);
                Assert.IsTrue(systemManager.GetContacts(list02).Count == 10);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list02).Count == 0);
                Assert.IsTrue(systemManager.GetBouncedContacts(list02).Count == 0);
                #endregion



                //ΔΙΑΓΡΑΦΕΣ:
                Assert.IsTrue(systemManager.RemoveByDomainContactsFromList(list01a.ListId, "oyoloo.gov") == 1);
                Assert.IsTrue(systemManager.RemoveByDomainContactsFromList(list02.ListId, "oyoloo.gov") == 1);

                #region ΕΛΕΓΧΟΥΜΕ:
                list01a = systemManager.GetClientListById(list01a.ListId);
                Assert.IsTrue(list01a.TotalContacts == 10);
                Assert.IsTrue(systemManager.GetContacts(list01a).Count == 10);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01a).Count == 3);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01a).Count == 3);

                list01b = systemManager.GetClientListById(list01b.ListId);
                Assert.IsTrue(list01b.TotalContacts == 10);
                Assert.IsTrue(systemManager.GetContacts(list01b).Count == 10);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01b).Count == 3);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01b).Count == 3);

                list02 = systemManager.GetClientListById(list02.ListId);
                Assert.IsTrue(list02.TotalContacts == 9);
                Assert.IsTrue(systemManager.GetContacts(list02).Count == 9);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list02).Count == 0);
                Assert.IsTrue(systemManager.GetBouncedContacts(list02).Count == 0);
                #endregion


                //ΔΙΑΓΡΑΦΕΣ:
                Assert.IsTrue(systemManager.RemoveByDomainContactsFromList(list01a.ListId, "hotmail.com") == 1);
                Assert.IsTrue(systemManager.RemoveByDomainContactsFromList(list01b.ListId, "hotmail.com") == 0);
                Assert.IsTrue(systemManager.RemoveByDomainContactsFromList(list02.ListId, "hotmail.com") == 0);

                #region ΕΛΕΓΧΟΥΜΕ:
                list01a = systemManager.GetClientListById(list01a.ListId);
                Assert.IsTrue(list01a.TotalContacts == 9);
                Assert.IsTrue(systemManager.GetContacts(list01a).Count == 9);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01a).Count == 3);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01a).Count == 2);

                list01b = systemManager.GetClientListById(list01b.ListId);
                Assert.IsTrue(list01b.TotalContacts == 10);
                Assert.IsTrue(systemManager.GetContacts(list01b).Count == 10);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01b).Count == 3);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01b).Count == 3);

                list02 = systemManager.GetClientListById(list02.ListId);
                Assert.IsTrue(list02.TotalContacts == 9);
                Assert.IsTrue(systemManager.GetContacts(list02).Count == 9);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list02).Count == 0);
                Assert.IsTrue(systemManager.GetBouncedContacts(list02).Count == 0);
                #endregion


                //ΔΙΑΓΡΑΦΕΣ:
                Assert.IsTrue(systemManager.RemoveAllContactsFromList(list01b.ListId) == 10);

                #region ΕΛΕΓΧΟΥΜΕ:
                list01a = systemManager.GetClientListById(list01a.ListId);
                Assert.IsTrue(list01a.TotalContacts == 9);
                Assert.IsTrue(systemManager.GetContacts(list01a).Count == 9);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01a).Count == 3);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01a).Count == 2);

                list01b = systemManager.GetClientListById(list01b.ListId);
                Assert.IsTrue(list01b.TotalContacts == 0);
                Assert.IsTrue(systemManager.GetContacts(list01b).Count == 0);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01b).Count == 0);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01b).Count == 0);

                list02 = systemManager.GetClientListById(list02.ListId);
                Assert.IsTrue(list02.TotalContacts == 9);
                Assert.IsTrue(systemManager.GetContacts(list02).Count == 9);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list02).Count == 0);
                Assert.IsTrue(systemManager.GetBouncedContacts(list02).Count == 0);
                #endregion
            }
            finally
            {
                var clients = systemManager.GetClients();
                foreach (var client in clients)
                {
                    if (client.IsBuiltIn)
                    {
                        continue;
                    }

                    systemManager.DeleteClient(client);
                }
            }
        }
示例#25
0
        public void ClientLists02_01()
        {
            var systemManager = VLSystemManager.GetAnInstance(admin);

            try
            {
                //We create a customer:
                var client1 = systemManager.CreateClient("MySoftavia S.A.", BuiltinCountries.Greece, "man", profile: BuiltinProfiles.UTESTFree.ProfileId);
                //We create a contact list:
                var list01 = systemManager.CreateClientList(client1.ClientId, "my-list-01");

                //Η λίστα μας είναι άδεια:
                Assert.IsTrue(list01.TotalContacts == 0);
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 0);

                //Εισαγωγή 10 γραμμών
                ContactImportResult importResult = null;
                using (var fs = new FileStream(Path.Combine(_ImportFilesPath, "MOCK_DATA_10a.csv"), FileMode.Open))
                {
                    importResult = systemManager.ImportContactsFromCSV(list01.ListId, fs, new ContactImportOptions {
                        HasHeaderRecord = true, ContinueOnError = true, EmailOrdinal = 2, FirstNameOrdinal = 3, LastNameOrdinal = 4
                    });
                }

                //Η λίστα μας έχει τωρα 10 contacts:
                list01 = systemManager.GetClientListById(list01.ListId);
                Assert.IsTrue(list01.TotalContacts == 10);
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 10);

                //Κανένα contact δεν είναι OptedOut ή Bounced:
                var contacts = systemManager.GetContacts(list01.ListId);
                foreach (var item in contacts)
                {
                    Assert.IsFalse(item.IsBouncedEmail);
                    Assert.IsFalse(item.IsOptedOut);
                }

                Assert.IsTrue(systemManager.GetOptedOutContacts(list01).Count == 0);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01).Count == 0);

                //Κάνουμε bounced τρία emails:
                var email01b = contacts[0].Email;
                var email02b = contacts[1].Email;
                var email03b = contacts[2].Email;

                Assert.IsTrue(systemManager.BounceContacts(client1, email01b) == 1);
                Assert.IsTrue(systemManager.BounceContacts(client1, email02b) == 1);
                Assert.IsTrue(systemManager.BounceContacts(client1, email03b) == 1);

                //Τώρα έχουμε 3 Bounced Emails:
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01).Count == 0);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01).Count == 3);

                //Κάνουμε optedOut τρία emails:
                var email01o = contacts[7].Email;
                var email02o = contacts[8].Email;
                var email03o = contacts[9].Email;

                Assert.IsTrue(systemManager.OptOutContacts(client1, email01o) == 1);
                Assert.IsTrue(systemManager.OptOutContacts(client1, email02o) == 1);
                Assert.IsTrue(systemManager.OptOutContacts(client1, email03o) == 1);

                //Τώρα έχουμε 3 Bounced Emails & 3 OptedOut Emails:
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01).Count == 3);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01).Count == 3);


                //Θα διαγράψουμε τα OptedOut Emails:
                Assert.IsTrue(systemManager.RemoveAllOptedOutContactsFromList(list01.ListId) == 3);

                //Ελέγχουμε:
                list01 = systemManager.GetClientListById(list01.ListId);
                Assert.IsTrue(list01.TotalContacts == 7);
                Assert.IsTrue(systemManager.GetContacts(list01).Count == 7);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01).Count == 0);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01).Count == 3);


                //Θα διαγράψουμε τα Bounced Emails:
                Assert.IsTrue(systemManager.RemoveAllBouncedContactsFromList(list01.ListId) == 3);

                //Ελέγχουμε:
                list01 = systemManager.GetClientListById(list01.ListId);
                Assert.IsTrue(list01.TotalContacts == 4);
                Assert.IsTrue(systemManager.GetContacts(list01).Count == 4);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01).Count == 0);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01).Count == 0);


                //Θα διαγράψουμε όλα τα contacts απο αυτή την λίστα:
                Assert.IsTrue(systemManager.RemoveAllContactsFromList(list01.ListId) == 4);

                //Ελέγχουμε:
                list01 = systemManager.GetClientListById(list01.ListId);
                Assert.IsTrue(list01.TotalContacts == 0);
                Assert.IsTrue(systemManager.GetContacts(list01).Count == 0);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01).Count == 0);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01).Count == 0);
            }
            finally
            {
                var clients = systemManager.GetClients();
                foreach (var client in clients)
                {
                    if (client.IsBuiltIn)
                    {
                        continue;
                    }

                    systemManager.DeleteClient(client);
                }
            }
        }
示例#26
0
        protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context)
        {
            var clientId      = TryParseInt32(context, "ClientId", true);
            var pageIndex     = TryParseInt32(context, "page", false, 1);
            var pageSize      = TryParseInt32(context, "rows", false, 10);
            var sortIndex     = TryParseString(context, "sidx", false, "Name");
            var sortOrder     = TryParseString(context, "sord", false, "asc");
            var orderByClause = string.Format("order by {0} {1}", sortIndex, sortOrder);

            var systemManager = VLSystemManager.GetAnInstance(accessToken);

            int totalRecords = 0;
            var items        = systemManager.GetPaymentsView1(clientId, pageIndex, pageSize, ref totalRecords, string.Empty, orderByClause);

            int totalpages = totalRecords / pageSize;

            if (totalpages * pageSize < totalRecords)
            {
                totalpages++;
            }


            foreach (var item in items)
            {
                #region TotalCredits
                if (item.CreditType == CreditType.EmailType)
                {
                    if (item.Quantity == 1)
                    {
                        item.TotalCredits = "1 email";
                    }
                    else
                    {
                        item.TotalCredits = string.Format("{0} emails", item.Quantity);
                    }
                }
                else if (item.CreditType == CreditType.ResponseType)
                {
                    if (item.Quantity == 1)
                    {
                        item.TotalCredits = "1 response";
                    }
                    else
                    {
                        item.TotalCredits = string.Format("{0} responses", item.Quantity);
                    }
                }
                else if (item.CreditType == CreditType.ClickType)
                {
                    if (item.Quantity == 1)
                    {
                        item.TotalCredits = "1 click";
                    }
                    else
                    {
                        item.TotalCredits = string.Format("{0} clicks", item.Quantity);
                    }
                }
                #endregion

                #region UsedCredits
                if (item.CreditType == CreditType.EmailType)
                {
                    if (item.QuantityUsed == 0)
                    {
                        item.UsedCredits = "0";
                    }
                    else if (item.QuantityUsed == 1)
                    {
                        item.UsedCredits = "1";
                    }
                    else
                    {
                        item.UsedCredits = string.Format("{0}", item.QuantityUsed);
                    }
                }
                else if (item.CreditType == CreditType.ResponseType)
                {
                    if (item.QuantityUsed == 0)
                    {
                        item.UsedCredits = "0";
                    }
                    else if (item.QuantityUsed == 1)
                    {
                        item.UsedCredits = "1";
                    }
                    else
                    {
                        item.UsedCredits = string.Format("{0}", item.QuantityUsed);
                    }
                }
                else if (item.CreditType == CreditType.ClickType)
                {
                    if (item.QuantityUsed == 0)
                    {
                        item.UsedCredits = "0";
                    }
                    else if (item.QuantityUsed == 1)
                    {
                        item.UsedCredits = "1 ";
                    }
                    else
                    {
                        item.UsedCredits = string.Format("{0}", item.QuantityUsed);
                    }
                }
                #endregion

                #region RestCredits
                var _restQuantity = item.Quantity - item.QuantityUsed;
                if (item.CreditType == CreditType.EmailType)
                {
                    if (_restQuantity == 0)
                    {
                        item.RestCredits = "0";
                    }
                    else if (_restQuantity == 1)
                    {
                        item.RestCredits = "1";
                    }
                    else
                    {
                        item.RestCredits = _restQuantity.ToString();
                    }
                }
                else if (item.CreditType == CreditType.ResponseType)
                {
                    if (_restQuantity == 0)
                    {
                        item.RestCredits = "0";
                    }
                    else if (_restQuantity == 1)
                    {
                        item.RestCredits = "1";
                    }
                    else
                    {
                        item.RestCredits = _restQuantity.ToString();
                    }
                }
                else if (item.CreditType == CreditType.ClickType)
                {
                    if (_restQuantity == 0)
                    {
                        item.RestCredits = "0";
                    }
                    else if (_restQuantity == 1)
                    {
                        item.RestCredits = "1";
                    }
                    else
                    {
                        item.RestCredits = _restQuantity.ToString();
                    }
                }
                #endregion
            }


            var data = new
            {
                total   = totalpages,   //total pages for the query
                page    = pageIndex,    //current page of the query
                records = totalRecords, //total number of records for the query
                rows    = items
            };


            var response = JsonConvert.SerializeObject(data, Formatting.None);
            context.Response.Write(response);
        }
        public void FileTests01_01()
        {
            var systemManager = VLSystemManager.GetAnInstance(admin);
            var surveyManager = VLSurveyManager.GetAnInstance(admin);


            try
            {
                //δημιουργούμε ένα client:
                var client1 = systemManager.CreateClient("Thomas Cookings S.A.", BuiltinCountries.Greece, "THMC", profile: BuiltinProfiles.UTESTFree.ProfileId);
                Assert.IsNotNull(client1);
                //Δημιουργούμε ένα νέο survey:
                var survey1 = surveyManager.CreateSurvey(client1.ClientId, "Questionnaire #1", "Risk assessment");
                Assert.IsNotNull(survey1);

                //Στην αρχή δεν υπάρχει κανένα αρχείο για αυτό το survey:
                Assert.IsTrue(surveyManager.GetFiles(survey1).Count == 0);

                VLFile file1 = null;
                using (var fs = new FileStream(Path.Combine(_ImagesPath, "image1.jpg"), FileMode.Open))
                {
                    file1 = surveyManager.AssignFile(survey1, fs, "image1.jpg");
                }
                Assert.IsNotNull(file1);
                Assert.IsTrue(file1.Client == survey1.Client);
                Assert.IsTrue(file1.Survey == survey1.SurveyId);
                Assert.AreEqual <string>("image1.jpg", file1.OriginalFileName);
                Assert.AreEqual <string>("image1.jpg", file1.ManagedFileName);
                Assert.AreEqual <string>(".jpg", file1.Extension);
                Assert.IsTrue(file1.Size == 52077);
                Assert.IsTrue(file1.IsPhysicalFile);
                Assert.IsTrue(file1.InventoryPath == Path.Combine(survey1.Client.ToString(CultureInfo.InvariantCulture), survey1.SurveyId.ToString(CultureInfo.InvariantCulture)) + "\\");
                var svdFile1 = surveyManager.GetFileById(file1.FileId);
                Assert.AreEqual <VLFile>(file1, svdFile1);


                //τώρα έχουμε ένα αρχείο για αυτό το survey
                Assert.IsTrue(surveyManager.GetFiles(survey1).Count == 1);


                VLFile file2 = null;
                using (var fs = new FileStream(Path.Combine(_ImagesPath, "image2.jpg"), FileMode.Open))
                {
                    file2 = surveyManager.AssignFile(survey1, fs, "image2.jpg");
                }
                Assert.IsNotNull(file2);
                Assert.IsTrue(file2.Client == survey1.Client);
                Assert.IsTrue(file2.Survey == survey1.SurveyId);
                Assert.AreEqual <string>("image2.jpg", file2.OriginalFileName);
                Assert.AreEqual <string>("image2.jpg", file2.ManagedFileName);
                Assert.AreEqual <string>(".jpg", file2.Extension);
                Assert.IsTrue(file2.Size == 33013);
                Assert.IsTrue(file2.IsPhysicalFile);
                Assert.IsTrue(file2.InventoryPath == Path.Combine(survey1.Client.ToString(CultureInfo.InvariantCulture), survey1.SurveyId.ToString(CultureInfo.InvariantCulture)) + "\\");
                var svdfile2 = surveyManager.GetFileById(file2.FileId);
                Assert.AreEqual <VLFile>(file2, svdfile2);

                //τώρα έχουμε δύο αρχεία για αυτό το survey
                Assert.IsTrue(surveyManager.GetFiles(survey1).Count == 2);


                VLFile file3 = null;
                using (var fs = new FileStream(Path.Combine(_ImagesPath, "image2.jpg"), FileMode.Open))
                {
                    file3 = surveyManager.AssignFile(survey1, fs, "image2.jpg");
                }
                Assert.IsNotNull(file3);
                Assert.IsTrue(file3.Client == survey1.Client);
                Assert.IsTrue(file3.Survey == survey1.SurveyId);
                Assert.AreEqual <string>("image2.jpg", file3.OriginalFileName);
                Assert.AreEqual <string>("image2_1.jpg", file3.ManagedFileName);
                Assert.AreEqual <string>(".jpg", file3.Extension);
                Assert.IsTrue(file3.Size == 33013);
                Assert.IsTrue(file3.IsPhysicalFile);
                Assert.IsTrue(file3.InventoryPath == Path.Combine(survey1.Client.ToString(CultureInfo.InvariantCulture), survey1.SurveyId.ToString(CultureInfo.InvariantCulture)) + "\\");
                var svdfile3 = surveyManager.GetFileById(file3.FileId);
                Assert.AreEqual <VLFile>(file3, svdfile3);


                //τώρα έχουμε τρία αρχεία για αυτό το survey
                Assert.IsTrue(surveyManager.GetFiles(survey1).Count == 3);


                //διαγράφουμε το ένα
                surveyManager.Removefile(file3.FileId);
                Assert.IsNull(surveyManager.GetFileById(file3.FileId));
                //τώρα έχουμε δύο αρχεία για αυτό το survey
                Assert.IsTrue(surveyManager.GetFiles(survey1).Count == 2);


                //διαγράφουμε το ένα
                surveyManager.Removefile(file2.FileId);
                Assert.IsNull(surveyManager.GetFileById(file2.FileId));
                //τώρα έχουμε δύο αρχεία για αυτό το survey
                Assert.IsTrue(surveyManager.GetFiles(survey1).Count == 1);
            }
            finally
            {
                var clients = systemManager.GetClients();
                foreach (var client in clients)
                {
                    if (client.IsBuiltIn)
                    {
                        continue;
                    }

                    var surveys = surveyManager.GetSurveysForClient(client.ClientId);
                    foreach (var survey in surveys)
                    {
                        surveyManager.DeleteSurvey(survey.SurveyId);
                    }

                    systemManager.DeleteClient(client);
                }
            }
        }
        public void CollectorTests02_02()
        {
            var surveyManager = VLSurveyManager.GetAnInstance(admin);
            var systemManager = VLSystemManager.GetAnInstance(admin);

            try
            {
                #region Δημιουργία πελάτη, και λίστας με 10 επαφές:
                //Δημιουργούμε ένα πελάτη
                var client1 = systemManager.CreateClient("MySoftavia S.A.", BuiltinCountries.Greece, "man", profile: BuiltinProfiles.UTESTFree.ProfileId);
                //We create a contact list:
                var list01 = systemManager.CreateClientList(client1.ClientId, "my-list-01");
                //Εισαγωγή 10 γραμμών
                using (var fs = new FileStream(Path.Combine(_ImportFilesPath, "MOCK_DATA_10a.csv"), FileMode.Open))
                {
                    systemManager.ImportContactsFromCSV(list01.ListId, fs, new ContactImportOptions {
                        HasHeaderRecord = true, ContinueOnError = true, EmailOrdinal = 2, FirstNameOrdinal = 3, LastNameOrdinal = 4
                    });
                }
                //Η λίστα μας έχει τωρα 10 contacts:
                list01 = systemManager.GetClientListById(list01.ListId);
                Assert.IsTrue(list01.TotalContacts == 10);
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 10);
                //Κανένα contact δεν είναι OptedOut ή Bounced:
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01).Count == 0);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01).Count == 0);

                //We create a contact list:
                var list02 = systemManager.CreateClientList(client1.ClientId, "my-list-02");
                //Εισαγωγή 10 γραμμών
                using (var fs = new FileStream(Path.Combine(_ImportFilesPath, "MOCK_DATA_10a.csv"), FileMode.Open))
                {
                    systemManager.ImportContactsFromCSV(list02.ListId, fs, new ContactImportOptions {
                        HasHeaderRecord = true, ContinueOnError = true, EmailOrdinal = 2, FirstNameOrdinal = 3, LastNameOrdinal = 4
                    });
                }
                //Η λίστα μας έχει τωρα 10 contacts:
                list02 = systemManager.GetClientListById(list02.ListId);
                Assert.IsTrue(list02.TotalContacts == 10);
                Assert.IsTrue(systemManager.GetContacts(list02.ListId).Count == 10);
                //Κανένα contact δεν είναι OptedOut ή Bounced:
                Assert.IsTrue(systemManager.GetOptedOutContacts(list02).Count == 0);
                Assert.IsTrue(systemManager.GetBouncedContacts(list02).Count == 0);
                #endregion

                //We create a survey:
                var survey1 = surveyManager.CreateSurvey(client1, "Questionnaire #1", "Risk assessment");
                //We create a collector:
                var collector01 = surveyManager.CreateCollector(survey1.SurveyId, CollectorType.Email, "COLLECTOR01_email1");
                //Δημιουργούμε στον collector 10 recipients:
                surveyManager.ImportRecipientsFromList(collector01, list01);
                //We create a collector:
                var collector02 = surveyManager.CreateCollector(survey1.SurveyId, CollectorType.Email, "COLLECTOR02_email1");
                //Δημιουργούμε στον collector 10 recipients:
                surveyManager.ImportRecipientsFromList(collector02, list01);

                //Τώρα ο collector01 έχει 10 recipients:
                collector01 = surveyManager.GetCollectorById(collector01.CollectorId);
                Assert.IsTrue(surveyManager.GetRecipients(collector01).Count == 10);
                Assert.IsTrue(surveyManager.GetOptedOutRecipients(collector01).Count == 0);
                Assert.IsTrue(surveyManager.GetBouncedRecipients(collector01).Count == 0);
                //Τώρα ο collector02 έχει 10 recipients:
                collector02 = surveyManager.GetCollectorById(collector02.CollectorId);
                Assert.IsTrue(surveyManager.GetRecipients(collector02).Count == 10);
                Assert.IsTrue(surveyManager.GetOptedOutRecipients(collector02).Count == 0);
                Assert.IsTrue(surveyManager.GetBouncedRecipients(collector02).Count == 0);


                //Κάνουμε bounced τρία emails:
                Assert.IsTrue(surveyManager.BounceRecipient(collector01, "*****@*****.**") == 2);
                Assert.IsTrue(surveyManager.BounceRecipient(collector01, "*****@*****.**") == 2);
                Assert.IsTrue(surveyManager.BounceRecipient(collector01, "*****@*****.**") == 2);


                //Τώρα έχουμε τρία (3) bounced emails στον Collector, και στην λίστα του πελάτη μας:
                Assert.IsTrue(surveyManager.GetRecipients(collector01).Count == 10);
                Assert.IsTrue(surveyManager.GetOptedOutRecipients(collector01).Count == 0);
                Assert.IsTrue(surveyManager.GetBouncedRecipients(collector01).Count == 3);

                Assert.IsTrue(surveyManager.GetRecipients(collector02).Count == 10);
                Assert.IsTrue(surveyManager.GetOptedOutRecipients(collector02).Count == 0);
                Assert.IsTrue(surveyManager.GetBouncedRecipients(collector02).Count == 3);
                //
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 10);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01).Count == 0);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01).Count == 3);

                Assert.IsTrue(systemManager.GetContacts(list02.ListId).Count == 10);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list02).Count == 0);
                Assert.IsTrue(systemManager.GetBouncedContacts(list02).Count == 3);



                //Κάνουμε optedOut τρία emails:
                Assert.IsTrue(surveyManager.OptOutRecipient(collector01, "*****@*****.**") == 2);
                Assert.IsTrue(surveyManager.OptOutRecipient(collector01, "*****@*****.**") == 2);
                Assert.IsTrue(surveyManager.OptOutRecipient(collector01, "*****@*****.**") == 2);

                //Τώρα έχουμε τρία (3) OptedOut emails στον Collector, και στην λίστα του πελάτη μας:
                Assert.IsTrue(surveyManager.GetRecipients(collector01).Count == 10);
                Assert.IsTrue(surveyManager.GetOptedOutRecipients(collector01).Count == 3);
                Assert.IsTrue(surveyManager.GetBouncedRecipients(collector01).Count == 3);

                Assert.IsTrue(surveyManager.GetRecipients(collector02).Count == 10);
                Assert.IsTrue(surveyManager.GetOptedOutRecipients(collector02).Count == 3);
                Assert.IsTrue(surveyManager.GetBouncedRecipients(collector02).Count == 3);
                //
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 10);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01).Count == 3);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01).Count == 3);

                Assert.IsTrue(systemManager.GetContacts(list02.ListId).Count == 10);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list02).Count == 3);
                Assert.IsTrue(systemManager.GetBouncedContacts(list02).Count == 3);


                #region Διαγραφές
                //Θα διαγράψουμε τα OptedOut recipients:
                Assert.IsTrue(surveyManager.RemoveAllOptedOutRecipients(collector01) == 3);
                //Ελέγχουμε:
                Assert.IsTrue(surveyManager.GetRecipients(collector01).Count == 7);
                Assert.IsTrue(surveyManager.GetOptedOutRecipients(collector01).Count == 0);
                Assert.IsTrue(surveyManager.GetBouncedRecipients(collector01).Count == 3);

                Assert.IsTrue(surveyManager.GetRecipients(collector02).Count == 10);
                Assert.IsTrue(surveyManager.GetOptedOutRecipients(collector02).Count == 3);
                Assert.IsTrue(surveyManager.GetBouncedRecipients(collector02).Count == 3);
                //
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 10);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01).Count == 3);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01).Count == 3);

                Assert.IsTrue(systemManager.GetContacts(list02.ListId).Count == 10);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list02).Count == 3);
                Assert.IsTrue(systemManager.GetBouncedContacts(list02).Count == 3);


                //θα διαγράψουμε τα bounced recipients:
                Assert.IsTrue(surveyManager.RemoveAllBouncedRecipients(collector01) == 3);
                //Ελέγχουμε:
                Assert.IsTrue(surveyManager.GetRecipients(collector01).Count == 4);
                Assert.IsTrue(surveyManager.GetOptedOutRecipients(collector01).Count == 0);
                Assert.IsTrue(surveyManager.GetBouncedRecipients(collector01).Count == 0);

                Assert.IsTrue(surveyManager.GetRecipients(collector02).Count == 10);
                Assert.IsTrue(surveyManager.GetOptedOutRecipients(collector02).Count == 3);
                Assert.IsTrue(surveyManager.GetBouncedRecipients(collector02).Count == 3);
                //
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 10);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01).Count == 3);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01).Count == 3);

                Assert.IsTrue(systemManager.GetContacts(list02.ListId).Count == 10);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list02).Count == 3);
                Assert.IsTrue(systemManager.GetBouncedContacts(list02).Count == 3);

                //Θα διαγράψουμε όλες τις επαφές απο την λίστα μας:
                systemManager.RemoveAllContactsFromList(list01.ListId);
                list01 = systemManager.GetClientListById(list01.ListId);
                //Ελέγχουμε:
                Assert.IsTrue(surveyManager.GetRecipients(collector01).Count == 4);
                Assert.IsTrue(surveyManager.GetOptedOutRecipients(collector01).Count == 0);
                Assert.IsTrue(surveyManager.GetBouncedRecipients(collector01).Count == 0);

                Assert.IsTrue(surveyManager.GetRecipients(collector02).Count == 10);
                Assert.IsTrue(surveyManager.GetOptedOutRecipients(collector02).Count == 3);
                Assert.IsTrue(surveyManager.GetBouncedRecipients(collector02).Count == 3);
                //
                Assert.IsTrue(list01.TotalContacts == 0);
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 0);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01).Count == 0);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01).Count == 0);

                Assert.IsTrue(systemManager.GetContacts(list02.ListId).Count == 10);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list02).Count == 3);
                Assert.IsTrue(systemManager.GetBouncedContacts(list02).Count == 3);


                //Θα διαγράχουμε όλα τα unsent recipients απο τον collector:
                Assert.IsTrue(surveyManager.RemoveAllUnsentRecipients(collector02) == 10);
                //Ελέγχουμε:
                Assert.IsTrue(surveyManager.GetRecipients(collector01).Count == 4);
                Assert.IsTrue(surveyManager.GetOptedOutRecipients(collector01).Count == 0);
                Assert.IsTrue(surveyManager.GetBouncedRecipients(collector01).Count == 0);

                Assert.IsTrue(surveyManager.GetRecipients(collector02).Count == 0);
                Assert.IsTrue(surveyManager.GetOptedOutRecipients(collector02).Count == 0);
                Assert.IsTrue(surveyManager.GetBouncedRecipients(collector02).Count == 0);
                //
                Assert.IsTrue(list01.TotalContacts == 0);
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 0);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01).Count == 0);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01).Count == 0);

                Assert.IsTrue(systemManager.GetContacts(list02.ListId).Count == 10);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list02).Count == 3);
                Assert.IsTrue(systemManager.GetBouncedContacts(list02).Count == 3);
                #endregion
            }
            finally
            {
                var surveys = surveyManager.GetSurveys(textsLanguage: BuiltinLanguages.PrimaryLanguage);
                foreach (var item in surveys)
                {
                    if (item.IsBuiltIn)
                    {
                        continue;
                    }

                    surveyManager.DeleteSurvey(item);
                }

                var clients = systemManager.GetClients();
                foreach (var client in clients)
                {
                    if (client.IsBuiltIn)
                    {
                        continue;
                    }

                    systemManager.DeleteClient(client);
                }
            }
        }
        public void CollectorTests02_01()
        {
            var surveyManager = VLSurveyManager.GetAnInstance(admin);
            var systemManager = VLSystemManager.GetAnInstance(admin);

            try
            {
                #region Δημιουργία πελάτη, και λίστας με 10 επαφές:
                //Δημιουργούμε ένα πελάτη
                var client1 = systemManager.CreateClient("MySoftavia S.A.", BuiltinCountries.Greece, "man", profile: BuiltinProfiles.UTESTFree.ProfileId);
                //We create a contact list:
                var list01 = systemManager.CreateClientList(client1.ClientId, "my-list-01");
                //Εισαγωγή 10 γραμμών
                ContactImportResult importResult = null;
                using (var fs = new FileStream(Path.Combine(_ImportFilesPath, "MOCK_DATA_10a.csv"), FileMode.Open))
                {
                    importResult = systemManager.ImportContactsFromCSV(list01.ListId, fs, new ContactImportOptions {
                        HasHeaderRecord = true, ContinueOnError = true, EmailOrdinal = 2, FirstNameOrdinal = 3, LastNameOrdinal = 4
                    });
                }
                //Η λίστα μας έχει τωρα 10 contacts:
                list01 = systemManager.GetClientListById(list01.ListId);
                Assert.IsTrue(list01.TotalContacts == 10);
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 10);
                //Κανένα contact δεν είναι OptedOut ή Bounced:
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01).Count == 0);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01).Count == 0);
                #endregion

                //We create a survey:
                var survey1 = surveyManager.CreateSurvey(client1, "Questionnaire #1", "Risk assessment");
                //We create a collector:
                var collector01 = surveyManager.CreateCollector(survey1.SurveyId, CollectorType.Email, "COLLECTOR01_email1");
                //Δημιουργούμε στον collector 10 recipients:
                surveyManager.ImportRecipientsFromList(collector01, list01);

                //Τώρα ο collector μας έχει 10 recipients:
                collector01 = surveyManager.GetCollectorById(collector01.CollectorId);
                Assert.IsTrue(surveyManager.GetRecipients(collector01).Count == 10);
                //Κανένα recipient δεν είναι OptedOut ή Bounced:
                var recipients = surveyManager.GetRecipients(collector01);
                foreach (var item in recipients)
                {
                    Assert.IsFalse(item.IsSentEmail);
                    Assert.IsFalse(item.IsOptedOut);
                    Assert.IsFalse(item.IsBouncedEmail);
                    Assert.IsFalse(item.HasResponded);
                }

                Assert.IsTrue(surveyManager.GetOptedOutRecipients(collector01).Count == 0);
                Assert.IsTrue(surveyManager.GetBouncedRecipients(collector01).Count == 0);


                //Κάνουμε bounced τρία emails:
                var email01b = recipients[0].Email;
                var email02b = recipients[1].Email;
                var email03b = recipients[2].Email;

                Assert.IsTrue(surveyManager.BounceRecipient(collector01, email01b) == 1);
                Assert.IsTrue(surveyManager.BounceRecipient(collector01, email02b) == 1);
                Assert.IsTrue(surveyManager.BounceRecipient(collector01, email03b) == 1);


                //Τώρα έχουμε τρία (3) bounced emails στον Collector, και στην λίστα του πελάτη μας:
                Assert.IsTrue(surveyManager.GetRecipients(collector01).Count == 10);
                Assert.IsTrue(surveyManager.GetOptedOutRecipients(collector01).Count == 0);
                Assert.IsTrue(surveyManager.GetBouncedRecipients(collector01).Count == 3);
                //
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 10);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01).Count == 0);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01).Count == 3);



                //Κάνουμε optedOut τρία emails:
                var email01o = recipients[7].Email;
                var email02o = recipients[8].Email;
                var email03o = recipients[9].Email;

                Assert.IsTrue(surveyManager.OptOutRecipient(collector01, email01o) == 1);
                Assert.IsTrue(surveyManager.OptOutRecipient(collector01, email02o) == 1);
                Assert.IsTrue(surveyManager.OptOutRecipient(collector01, email03o) == 1);

                //Τώρα έχουμε τρία (3) OptedOut emails στον Collector, και στην λίστα του πελάτη μας:
                Assert.IsTrue(surveyManager.GetRecipients(collector01).Count == 10);
                Assert.IsTrue(surveyManager.GetOptedOutRecipients(collector01).Count == 3);
                Assert.IsTrue(surveyManager.GetBouncedRecipients(collector01).Count == 3);
                Assert.IsTrue(surveyManager.GetEmailedRecipients(collector01).Count == 0);
                //
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 10);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01).Count == 3);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01).Count == 3);


                #region Διαγραφές
                //Θα διαγράψουμε τα OptedOut recipients:
                Assert.IsTrue(surveyManager.RemoveAllOptedOutRecipients(collector01) == 3);
                //Ελέγχουμε:
                Assert.IsTrue(surveyManager.GetRecipients(collector01).Count == 7);
                Assert.IsTrue(surveyManager.GetOptedOutRecipients(collector01).Count == 0);
                Assert.IsTrue(surveyManager.GetBouncedRecipients(collector01).Count == 3);
                //
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 10);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01).Count == 3);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01).Count == 3);


                //θα διαγράψουμε τα bounced recipients:
                Assert.IsTrue(surveyManager.RemoveAllBouncedRecipients(collector01) == 3);
                //Ελέγχουμε:
                Assert.IsTrue(surveyManager.GetRecipients(collector01).Count == 4);
                Assert.IsTrue(surveyManager.GetOptedOutRecipients(collector01).Count == 0);
                Assert.IsTrue(surveyManager.GetBouncedRecipients(collector01).Count == 0);
                //
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 10);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01).Count == 3);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01).Count == 3);

                //Θα διαγράψουμε όλες τις επαφές απο την λίστα μας:
                systemManager.RemoveAllContactsFromList(list01.ListId);
                list01 = systemManager.GetClientListById(list01.ListId);
                //Ελέγχουμε:
                Assert.IsTrue(surveyManager.GetRecipients(collector01).Count == 4);
                Assert.IsTrue(surveyManager.GetOptedOutRecipients(collector01).Count == 0);
                Assert.IsTrue(surveyManager.GetBouncedRecipients(collector01).Count == 0);
                //
                Assert.IsTrue(list01.TotalContacts == 0);
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 0);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01).Count == 0);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01).Count == 0);


                //Θα διαγράχουμε όλα τα unsent recipients απο τον collector:
                Assert.IsTrue(surveyManager.RemoveAllUnsentRecipients(collector01) == 4);

                //Ελέγχουμε:
                Assert.IsTrue(surveyManager.GetRecipients(collector01).Count == 0);
                Assert.IsTrue(surveyManager.GetOptedOutRecipients(collector01).Count == 0);
                Assert.IsTrue(surveyManager.GetBouncedRecipients(collector01).Count == 0);
                //
                Assert.IsTrue(list01.TotalContacts == 0);
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 0);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01).Count == 0);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01).Count == 0);
                #endregion
            }
            finally
            {
                var surveys = surveyManager.GetSurveys(textsLanguage: BuiltinLanguages.PrimaryLanguage);
                foreach (var item in surveys)
                {
                    if (item.IsBuiltIn)
                    {
                        continue;
                    }

                    surveyManager.DeleteSurvey(item);
                }

                var clients = systemManager.GetClients();
                foreach (var client in clients)
                {
                    if (client.IsBuiltIn)
                    {
                        continue;
                    }

                    systemManager.DeleteClient(client);
                }
            }
        }
示例#30
0
        public void SurveyResponsesTest01_03()
        {
            var systemManager = VLSystemManager.GetAnInstance(admin);
            var surveyManager = VLSurveyManager.GetAnInstance(admin);

            try
            {
                //We create a customer:
                var client = systemManager.CreateClient("MySoftavia S.A.", BuiltinCountries.Greece, "man", profile: BuiltinProfiles.UTESTFree.ProfileId);
                //We create a survey:
                var survey1 = CreateSurvey1(surveyManager, client);
                Assert.IsNotNull(survey1);
                //Τραβάμε τις ερωτήσεις:
                var questions = surveyManager.GetQuestionsForSurvey(survey1);
                Assert.IsTrue(questions.Count == 14);

                Assert.IsTrue(surveyManager.GetResponses(survey1.SurveyId).Count == 0);
                Assert.IsTrue(survey1.RecordedResponses == 0);
                Assert.IsFalse(survey1.HasResponses);



                var _now = Utility.RoundToSeconds(Utility.UtcNow());
                //Δημιουργούμε ένα Response:
                var response1 = surveyManager.CreateResponse(survey1.SurveyId, null, null, _now);
                //Εχει αλλάξει το survey1:
                survey1 = surveyManager.GetSurveyById(survey1.SurveyId);
                Assert.IsTrue(survey1.RecordedResponses == 1);
                Assert.IsTrue(survey1.HasResponses);

                //Δημιουργούμε ένα Response:
                var response2 = surveyManager.CreateResponse(survey1.SurveyId, null, null, _now);
                //Εχει αλλάξει το survey1:
                survey1 = surveyManager.GetSurveyById(survey1.SurveyId);
                Assert.IsTrue(survey1.RecordedResponses == 2);
                Assert.IsTrue(survey1.HasResponses);

                //Δημιουργούμε ένα Response:
                var response3 = surveyManager.CreateResponse(survey1.SurveyId, null, null, _now);
                //Εχει αλλάξει το survey1:
                survey1 = surveyManager.GetSurveyById(survey1.SurveyId);
                Assert.IsTrue(survey1.RecordedResponses == 3);
                Assert.IsTrue(survey1.HasResponses);


                //Δημιουργούμε ένα collector:
                var collector = surveyManager.CreateCollector(survey1, CollectorType.WebLink, "test1");
                Assert.IsTrue(collector.Status == CollectorStatus.Open);
                Assert.IsTrue(collector.Responses == 0);

                //Δημιουργούμε ένα Response:
                var response4 = surveyManager.CreateResponse(survey1.SurveyId, collector.CollectorId, null, _now);
                //εχει αλλάξει ο collector:
                collector = surveyManager.GetCollectorById(collector.CollectorId);
                Assert.IsTrue(collector.Responses == 1);
                //Εχει αλλάξει το survey1:
                survey1 = surveyManager.GetSurveyById(survey1.SurveyId);
                Assert.IsTrue(survey1.RecordedResponses == 4);
                Assert.IsTrue(survey1.HasResponses);

                //Δημιουργούμε ένα Response:
                var response5 = surveyManager.CreateResponse(survey1.SurveyId, collector.CollectorId, null, _now);
                //εχει αλλάξει ο collector:
                collector = surveyManager.GetCollectorById(collector.CollectorId);
                Assert.IsTrue(collector.Responses == 2);
                //Εχει αλλάξει το survey1:
                survey1 = surveyManager.GetSurveyById(survey1.SurveyId);
                Assert.IsTrue(survey1.RecordedResponses == 5);
                Assert.IsTrue(survey1.HasResponses);

                //Δημιουργούμε ένα Response:
                var response6 = surveyManager.CreateResponse(survey1.SurveyId, collector.CollectorId, null, _now);
                //εχει αλλάξει ο collector:
                collector = surveyManager.GetCollectorById(collector.CollectorId);
                Assert.IsTrue(collector.Responses == 3);
                //Εχει αλλάξει το survey1:
                survey1 = surveyManager.GetSurveyById(survey1.SurveyId);
                Assert.IsTrue(survey1.RecordedResponses == 6);
                Assert.IsTrue(survey1.HasResponses);

                Assert.IsTrue(surveyManager.GetResponses(survey1.SurveyId).Count == 6);
                //διαγράφουμε ένα response:
                surveyManager.DeleteResponse(response5.ResponseId);
                Assert.IsTrue(surveyManager.GetResponses(survey1.SurveyId).Count == 5);

                //εχει αλλάξει ο collector:
                collector = surveyManager.GetCollectorById(collector.CollectorId);
                Assert.IsTrue(collector.Responses == 2);
                //Εχει αλλάξει το survey1:
                survey1 = surveyManager.GetSurveyById(survey1.SurveyId);
                Assert.IsTrue(survey1.RecordedResponses == 5);
                Assert.IsTrue(survey1.HasResponses);


                //διαγράφουμε ta ρεσπονσεσ του collector:
                surveyManager.ClearResponsesForCollector(collector.CollectorId);

                //εχει αλλάξει ο collector:
                collector = surveyManager.GetCollectorById(collector.CollectorId);
                Assert.IsTrue(collector.Responses == 0);
                //Εχει αλλάξει το survey1:
                survey1 = surveyManager.GetSurveyById(survey1.SurveyId);
                Assert.IsTrue(survey1.RecordedResponses == 3);
                Assert.IsTrue(survey1.HasResponses);

                //Διαγράφουμε όλα τα responses:
                var responses = surveyManager.GetResponses(survey1.SurveyId);
                foreach (var r in responses)
                {
                    surveyManager.DeleteResponse(r.ResponseId);
                }

                //Εχει αλλάξει το survey1:
                survey1 = surveyManager.GetSurveyById(survey1.SurveyId);
                Assert.IsTrue(survey1.RecordedResponses == 0);
                Assert.IsFalse(survey1.HasResponses);
            }
            finally
            {
                var surveys = surveyManager.GetSurveys(textsLanguage: BuiltinLanguages.PrimaryLanguage);
                foreach (var item in surveys)
                {
                    var collectors = surveyManager.GetCollectors(item);
                    foreach (var c in collectors)
                    {
                        if (c.Status == CollectorStatus.Open)
                        {
                            surveyManager.CloseCollector(c);
                        }
                    }
                    if (item.IsBuiltIn)
                    {
                        continue;
                    }

                    surveyManager.DeleteSurvey(item);
                }
                var clients = systemManager.GetClients();
                foreach (var client in clients)
                {
                    if (client.IsBuiltIn)
                    {
                        continue;
                    }

                    systemManager.DeleteClient(client);
                }
            }
        }