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 collector = manager.GetCollectorById(collectorId, textsLanguage); if (collector != null) { collector.Name = TryParseString(context, "collectorName", true); collector = manager.UpdateCollector(collector); var totalScheduledMessages = manager.GetScheduledMessagesCount(collector.CollectorId); var _collector = new { collector.CollectorId, collector.Survey, collector.CollectorType, collector.Name, collector.AttributeFlags, collector.Status, collector.Responses, collector.SupportedLanguagesIds, collector.PrimaryLanguage, ScheduledMessages = totalScheduledMessages, 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); } }
protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context) { var surveyId = TryParseInt32(context, "surveyId"); var sourceLanguage = TryParseInt16(context, "sourceLanguage"); var targetLanguage = TryParseInt16(context, "targetLanguage"); VLSurveyManager surveyManager = VLSurveyManager.GetAnInstance(accessToken); var translatedSurvey = surveyManager.AddSurveyLanguage(surveyId, sourceLanguage, targetLanguage); if (translatedSurvey != null) { var _survey = new { translatedSurvey.Client, translatedSurvey.SurveyId, translatedSurvey.TextsLanguage, translatedSurvey.Title, translatedSurvey.ShowTitle }; var response = JsonConvert.SerializeObject(_survey, Formatting.None); context.Response.Write(response); } else { throw new VLException("AddSurveyLanguage failure!"); } }
protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context) { var surveyId = TryParseInt32(context, "surveyId"); var pageId = TryParseInt16(context, "pageId"); var textsLanguage = TryParseInt16(context, "textsLanguage", required: false, defValue: 0); var surveyManager = VLSurveyManager.GetAnInstance(accessToken); var surveyPage = surveyManager.GetSurveyPageById(surveyId, pageId, textsLanguage); if (surveyPage == null) { throw new VLException(string.Format("There is no SurveyPage with id='{0},{1}'.", surveyId, pageId)); } var _item = new { surveyPage.Survey, surveyPage.PageId, surveyPage.DisplayOrder, surveyPage.HasSkipLogic, surveyPage.CustomId, surveyPage.SkipTo, surveyPage.SkipToPage, surveyPage.SkipToWebUrl, surveyPage.TextsLanguage, surveyPage.ShowTitle, surveyPage.Description, CreateDT = surveyPage.CreateDT.ToShortDateString(), LastUpdateDT = surveyPage.LastUpdateDT.ToShortDateString(), }; var response = JsonConvert.SerializeObject(_item, Formatting.None); context.Response.Write(response); }
protected void CreateResponsesForSurvey2(VLSurveyManager surveyManager, VLSurvey survey, Int32 responses1 = 200, Int32 responses2 = 120, Int32 responses3 = 500) { var rnd = new System.Random(965522113); var collector01 = surveyManager.CreateCollector(survey, CollectorType.WebLink, "collector01"); var collector02 = surveyManager.CreateCollector(survey, CollectorType.WebLink, "collector02"); var collector03 = surveyManager.CreateCollector(survey, CollectorType.WebLink, "collector03"); for (int i = 1; i <= responses1; i++) { var openDate = new DateTime(2013, 8, 4, 12, 0, 0).AddHours(rnd.Next(0, 64)); var response = surveyManager.CreateResponse(survey.SurveyId, collector01.CollectorId, null, openDate, openDate.AddMinutes(rnd.Next(4, 1441))); CreateResponseDetailsForSurvey2(surveyManager, response, rnd); } for (int i = 1; i <= responses2; i++) { var openDate = new DateTime(2013, 8, 8, 12, 0, 0).AddHours(rnd.Next(0, 64)); var response = surveyManager.CreateResponse(survey.SurveyId, collector02.CollectorId, null, openDate, openDate.AddMinutes(rnd.Next(4, 1441))); CreateResponseDetailsForSurvey2(surveyManager, response, rnd); } for (int i = 1; i <= responses3; i++) { var openDate = new DateTime(2013, 8, 12, 12, 0, 0).AddHours(rnd.Next(0, 120)); var response = surveyManager.CreateResponse(survey.SurveyId, collector03.CollectorId, null, openDate, openDate.AddMinutes(rnd.Next(4, 1441))); CreateResponseDetailsForSurvey2(surveyManager, response, rnd); } }
protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context) { var recipientId = TryParseInt32(context, "recipientId"); var manager = VLSurveyManager.GetAnInstance(accessToken); var recipient = manager.GetRecipientById(recipientId); if (recipient != null) { var _recipient = new { recipient.RecipientId, recipient.Collector, recipient.RecipientKey, recipient.Email, recipient.FirstName, recipient.LastName, recipient.Title, recipient.Status, recipient.IsSentEmail, recipient.IsOptedOut, recipient.IsBouncedEmail, recipient.HasPartiallyResponded, recipient.HasResponded, recipient.HasManuallyAdded }; var response = JsonConvert.SerializeObject(_recipient, Formatting.None); context.Response.Write(response); } else { throw new VLException(string.Format("There is no Recipient with id='{0}'.", recipientId)); } }
protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context) { HttpRequest Request = context.Request; HttpResponse Response = context.Response; VLSurveyManager surveyManager = VLSurveyManager.GetAnInstance(accessToken); try { //Παίρνουμε το FileId απο το Request Guid fileId = TryParseGuid(context, "fileid"); Int32 width = TryParseInt32(context, "width", false, 104); Int32 height = TryParseInt32(context, "height", false, 80); #region Cache Hook #endregion //τραβάμε τα στοιχεία του αρχείου απο το σύστημα var file = surveyManager.GetFileById(fileId); if (file == null) { return; } System.Byte[] _thumbnail = surveyManager.GetThumbnail(file, width, height); if (_thumbnail != null) { #region Cache Hook #endregion Response.ClearHeaders(); Response.Clear(); Response.Cache.SetExpires(DateTime.Now.AddDays(1)); Response.Cache.SetCacheability(HttpCacheability.Public); Response.Cache.SetValidUntilExpires(true); Response.ContentType = GetMimeType(file.OriginalFileName); Response.BinaryWrite(_thumbnail); //Response.End();/*It throws ThreadAbortException */ context.ApplicationInstance.CompleteRequest(); } else { //Response.Clear(); ////Response.CacheControl = "Public"; //Response.Cache.SetExpires(DateTime.Now.AddDays(1)); //Response.Cache.SetCacheability(HttpCacheability.Public); //Response.Cache.SetValidUntilExpires(true); //string image = Globals.GetImageForMimeType(managedFile.Mime, true); //Response.WriteFile(context.Server.MapPath(string.Format("{0}/ecms/images/", Request.ApplicationPath).Replace("//", "/")) + image); ////Response.End();/*It throws ThreadAbortException */ //context.ApplicationInstance.CompleteRequest(); } } catch (Exception) { //System.Diagnostics.Debug.WriteLine(ex.Message); } }
protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context) { try { var filterId = TryParseInt32(context, "filterId"); var manager = VLSurveyManager.GetAnInstance(accessToken); var filter = manager.GetViewFilterById(filterId); if (filter != null) { manager.DeleteViewFilter(filter); //empty json object context.Response.Write("{}"); } else { throw new VLException(string.Format("There is no Filter with id='{0}'.", filterId)); } } catch { throw; } }
void UploadFile(VLSurveyManager surveyManager, VLSurvey survey, StringBuilder sb) { try { HttpPostedFile oFile = Request.Files[0]; if (oFile == null) { throw new VLException("Κανένα αρχείο δεν έγινε upload!"); } int fileLength = oFile.ContentLength; if (fileLength <= 0) { throw new VLException("To αρχείο είχε μηδενικό μέγεθος!"); } string postedFileName = Path.GetFileName(oFile.FileName); //Πρέπει να μεταφέρουμε το αρχείο στον EcmsFileManager. //Για να το κάνουμε αυτό το μεταφέρουμε στην μνήμη System.Byte[] mem = new byte[fileLength]; Stream postedStream = oFile.InputStream; postedStream.Read(mem, 0, fileLength); VLFile file = surveyManager.AssignFile(survey.SurveyId, mem, postedFileName); sb.Append("{\"res\":\"ok\", \"msg\":\"\"}"); } catch (Exception ex) { sb.AppendFormat("{{\"res\":\"error\", \"msg\":\"{0}\"}}", ex.Message); Logger.Error(HttpContext.Current.Request.RawUrl, ex); } }
protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context) { var messageId = TryParseInt32(context, "messageId"); var manager = VLSurveyManager.GetAnInstance(accessToken); var message = manager.GetMessageById(messageId); if (message != null) { var _message = new { message.Collector, message.MessageId, message.Sender, message.Status, message.IsDeliveryMethodOK, message.IsSenderOK, message.IsContentOK, message.IsScheduleOK, message.ScheduledAt, message.SentCounter, message.DeliveryMethod, message.Subject }; var response = JsonConvert.SerializeObject(_message, Formatting.None); context.Response.Write(response); } else { throw new VLException(string.Format("There is no Message with id='{0}'.", messageId)); } }
void SendFile(HttpRequest request, HttpResponse response, VLSurveyManager surveyManager, VLFile file) { response.ClearHeaders(); response.Clear(); response.Cookies.Clear(); response.Cache.SetCacheability(HttpCacheability.NoCache); response.Charset = System.Text.UTF8Encoding.UTF8.WebName; String userAgent = HttpContext.Current.Request.Headers.Get("User-Agent"); if (userAgent.Contains("MSIE")) { response.AppendHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(file.OriginalFileName.Replace(" ", "_"), System.Text.Encoding.UTF8)); } else { response.AppendHeader("Content-Disposition", "attachment; filename=" + file.OriginalFileName.Replace(" ", "_")); } response.ContentType = GetMimeType(file.OriginalFileName); if (!file.IsPhysicalFile || file.IsCompressed || file.IsEncrypted) { SendFileFromCMS(request, response, surveyManager, file); } else { SendFileFromFS(request, response, surveyManager, file); } }
protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context) { try { var viewId = TryParseGuid(context, "viewId"); var questionId = TryParseInt16(context, "questionId"); var comparisonOperator = (ComparisonOperator)TryParseByte(context, "operator"); var userinput1 = TryParseString(context, "userinput1"); var userinput2 = TryParseString(context, "userinput2", false, null); //Φτιάχνουμε ένα surveyManager: VLSurveyManager surveyManager = VLSurveyManager.GetAnInstance(accessToken); //Βρισκουμε την επιλεγμένη όψη: var selectedview = surveyManager.GetViewById(viewId); //Δημιουργούμε και το φίλτρο: var filter = surveyManager.AddFilter(selectedview, questionId, new VLFilterDetail { Operator = comparisonOperator, UserInput1 = userinput1, UserInput2 = userinput2 }); //empty json object context.Response.Write("{}"); } catch { throw; } }
protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context) { var surveyId = TryParseInt32(context, "surveyId"); var pageId = TryParseInt16(context, "pageId"); var textsLanguage = TryParseInt16(context, "textsLanguage", required: false, defValue: 0); var surveyManager = VLSurveyManager.GetAnInstance(accessToken); var pages = surveyManager.GetCandidateSkipPagesForPage(surveyId, pageId, addVirtualPages: true, textsLanguage: textsLanguage); var rows = pages.Select(c => new { c.Survey, c.PageId, c.DisplayOrder, c.HasSkipLogic, c.CustomId, c.SkipTo, c.SkipToPage, c.SkipToWebUrl, c.ShowTitle, /* * Στις κανονικές σελίδες εμφανίζουμε το πρόθεμα Page: <pageid> * Στις virtual σελίδες εμφναίζουμε μόνο το ShowTitle */ OptionTitle = c.PageId >= 0 ? (HttpUtility.HtmlEncode(string.Format("Page {0}: {1}", c.DisplayOrder, (c.ShowTitle != null ? c.ShowTitle : "<untitled page>")))) : ((c.ShowTitle != null ? c.ShowTitle : "<untitled page>")) }).ToArray(); var response = JsonConvert.SerializeObject(rows, Formatting.None); context.Response.Write(response); }
protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context) { var filterId = TryParseInt32(context, "filterId"); var manager = VLSurveyManager.GetAnInstance(accessToken); var filter = manager.GetViewFilterById(filterId); if (filter != null) { var _filter = new { filter.ViewId, filter.FilterId, filter.Survey, filter.Name, filter.ApplyOrder, filter.IsRule, filter.Question, filter.QuestionType, filter.LogicalOperator, filter.IsActive }; var response = JsonConvert.SerializeObject(_filter, Formatting.None); context.Response.Write(response); } else { throw new VLException(string.Format("There is no Filter with id='{0}'.", filterId)); } }
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) { try { 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 manager = VLSurveyManager.GetAnInstance(accessToken); var orderByClause = string.Format("order by {0} {1}", sortIndex, sortOrder); int totalRecords = 0; var items = manager.GetRecipients(collectorId, pageIndex, pageSize, ref totalRecords, string.Empty, orderByClause); int totalpages = totalRecords / pageSize; if (totalpages * pageSize < totalRecords) { totalpages++; } var rows = items.Select(c => new { c.RecipientId, c.Collector, c.RecipientKey, c.Email, c.FirstName, c.LastName, c.Title, c.Status, c.IsSentEmail, c.IsOptedOut, c.IsBouncedEmail, c.HasPartiallyResponded, c.HasResponded, c.HasManuallyAdded }).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); } catch { throw; } }
protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context) { try { 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 manager = VLSurveyManager.GetAnInstance(accessToken); int totalRecords = 0; var items = manager.GetNonDraftMessages(collectorId, pageIndex, pageSize, ref totalRecords, string.Empty); int totalpages = totalRecords / pageSize; if (totalpages * pageSize < totalRecords) { totalpages++; } var rows = items.Select(c => new { c.Collector, c.MessageId, c.Sender, c.Status, c.IsDeliveryMethodOK, c.IsSenderOK, c.IsContentOK, c.IsScheduleOK, ScheduledAt = c.ScheduledAt.HasValue ? accessToken.ConvertTimeFromUtc(c.ScheduledAt.Value).ToString(Utilities.DateTime_Format_Human, CultureInfo.InvariantCulture) : null, c.SentCounter, c.FailedCounter, c.SkipCounter, c.DeliveryMethod, c.Subject }).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); } catch (Exception ex) { throw; } }
protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context) { try { var viewId = TryParseGuid(context, "viewId"); var questionId = TryParseInt16(context, "questionId"); var conc_rows = TryParseString(context, "rows"); //fltrOption_8_1_1,fltrOption_8_2_2,fltrOption_8_3_3 var conc_cols = TryParseString(context, "columns"); //fltrColumn_8_9_1,fltrColumn_8_10_1,fltrColumn_8_8_2,fltrColumn_8_9_2,fltrColumn_8_10_2,fltrColumn_8_5_3,fltrColumn_8_6_3,fltrColumn_8_7_3,fltrColumn_8_8_3 /*σπάμε rows & columns:*/ var rows = conc_rows.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); var columns = conc_cols.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); //Φτιάχνουμε ένα surveyManager: VLSurveyManager surveyManager = VLSurveyManager.GetAnInstance(accessToken); //Βρισκουμε την επιλεγμένη όψη: var selectedview = surveyManager.GetViewById(viewId); //Δημιουργούμε τα filterDetails: Collection <VLFilterDetail> details = new Collection <VLFilterDetail>(); foreach (var row in rows) { var tokens = row.Split(new char[] { '_' }, StringSplitOptions.RemoveEmptyEntries); Int32 question = Int32.Parse(tokens[1]); byte option = byte.Parse(tokens[2]); byte section = byte.Parse(tokens[3]); foreach (var col in columns) { var tokens2 = col.Split(new char[] { '_' }, StringSplitOptions.RemoveEmptyEntries); Int32 question2 = Int32.Parse(tokens2[1]); byte column = byte.Parse(tokens2[2]); byte section2 = byte.Parse(tokens2[3]); if (question == question2 && section == section2) { details.Add(new VLFilterDetail { Operator = ComparisonOperator.IsChecked, SelectedOption = option, SelectedColumn = column }); } } } //Δημιουργούμε και το φίλτρο: var filter = surveyManager.AddFilter(selectedview, questionId, details); //empty json object context.Response.Write("{}"); } catch { throw; } }
protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context) { try { var surveyId = TryParseInt32(context, "surveyId", 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 manager = VLSurveyManager.GetAnInstance(accessToken); int totalRecords = 0; var items = manager.GetCollectors(surveyId, pageIndex, pageSize, ref totalRecords); int totalpages = totalRecords / pageSize; if (totalpages * pageSize < totalRecords) { totalpages++; } var rows = items.Select(c => new { c.CollectorId, c.Survey, c.CollectorType, c.Name, c.AttributeFlags, c.Status, c.Responses, c.SupportedLanguagesIds, c.PrimaryLanguage, c.TextsLanguage, c.CreditType, CreateDT = accessToken.ConvertTimeFromUtc(c.CreateDT).ToString(Utilities.DateTime_Format_Human), LastUpdateDT = accessToken.ConvertTimeFromUtc(c.LastUpdateDT).ToString(Utilities.DateTime_Format_Human) }).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); } catch { throw; } }
protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context) { VLSurveyManager surveyManager = VLSurveyManager.GetAnInstance(accessToken); var dashboard = surveyManager.GetSystemDashboard(); var response = JsonConvert.SerializeObject(dashboard, Formatting.None); context.Response.Write(response); }
protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context) { var collectorId = TryParseInt32(context, "collectorId"); var manager = VLSurveyManager.GetAnInstance(accessToken); manager.CloseCollector(collectorId); //empty json object context.Response.Write("{}"); }
private static void WriteExcelFile(VLSurveyManager surveyManager, VLSurvey survey, Collection <VLSurveyQuestionEx> questions, Collection <VLResponseEx> responses, SpreadsheetDocument spreadsheet) { // Create the Excel file contents. This function is used when creating an Excel file either writing // to a file, or writing to a MemoryStream. spreadsheet.AddWorkbookPart(); spreadsheet.WorkbookPart.Workbook = new DocumentFormat.OpenXml.Spreadsheet.Workbook(); // My thanks to James Miera for the following line of code (which prevents crashes in Excel 2010) spreadsheet.WorkbookPart.Workbook.Append(new BookViews(new WorkbookView())); // If we don't add a "WorkbookStylesPart", OLEDB will refuse to connect to this .xlsx file ! WorkbookStylesPart workbookStylesPart = spreadsheet.WorkbookPart.AddNewPart <WorkbookStylesPart>("rIdStyles"); //Stylesheet stylesheet = new Stylesheet(); //workbookStylesPart.Stylesheet = stylesheet; workbookStylesPart.Stylesheet = CreateStylesheet(); workbookStylesPart.Stylesheet.Save(); uint worksheetNumber = 1; { // For each worksheet you want to create string workSheetID = "rId" + worksheetNumber.ToString(); string worksheetName = "Responses"; WorksheetPart newWorksheetPart = spreadsheet.WorkbookPart.AddNewPart <WorksheetPart>(); newWorksheetPart.Worksheet = new DocumentFormat.OpenXml.Spreadsheet.Worksheet(); // create sheet data newWorksheetPart.Worksheet.AppendChild(new DocumentFormat.OpenXml.Spreadsheet.SheetData()); // save worksheet WriteDataTableToExcelWorksheet(surveyManager, survey, questions, responses, newWorksheetPart); newWorksheetPart.Worksheet.Save(); // create the worksheet to workbook relation if (worksheetNumber == 1) { spreadsheet.WorkbookPart.Workbook.AppendChild(new DocumentFormat.OpenXml.Spreadsheet.Sheets()); } spreadsheet.WorkbookPart.Workbook.GetFirstChild <DocumentFormat.OpenXml.Spreadsheet.Sheets>().AppendChild(new DocumentFormat.OpenXml.Spreadsheet.Sheet() { Id = spreadsheet.WorkbookPart.GetIdOfPart(newWorksheetPart), SheetId = (uint)worksheetNumber, Name = "Responses" }); worksheetNumber++; } spreadsheet.WorkbookPart.Workbook.Save(); }
protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context) { try { var viewId = TryParseGuid(context, "viewId"); var conc_collectors = TryParseString(context, "collectors"); //Φτιάχνουμε ένα surveyManager: VLSurveyManager surveyManager = VLSurveyManager.GetAnInstance(accessToken); //Βρισκουμε την επιλεγμένη όψη: var selectedview = surveyManager.GetViewById(viewId); var _collectors = conc_collectors.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); Collection <Int32> collectors = new Collection <int>(); foreach (var item in _collectors) { collectors.Add(Int32.Parse(item.Substring(13))); } selectedview = surveyManager.AddCollectorFilter(selectedview, collectors); var _view = new { selectedview.Client, selectedview.UserId, selectedview.Survey, selectedview.ViewId, selectedview.Name, selectedview.IsDefaultView, selectedview.PartialShowInUse, selectedview.EnablePartialShow, selectedview.FilteringByCollectorInUse, selectedview.EnableFilteringByCollector, selectedview.FilteringByTimePeriodInUse, selectedview.EnableFilteringByTimePeriod, selectedview.FilteringByResponseTimeInUse, selectedview.EnableFilteringByResponseTime, selectedview.FilteringByQuestionInUse, selectedview.TimePeriodStart, selectedview.TimePeriodEnd, selectedview.TotalResponseTime, selectedview.TotalResponseTimeUnit, selectedview.TotalResponseTimeOperator, selectedview.NumberOfQuestionFilters }; var response = JsonConvert.SerializeObject(_view, Formatting.None); context.Response.Write(response); } catch { throw; } }
protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context) { try { var viewId = TryParseGuid(context, "viewId"); var _timePeriodStart = TryParseString(context, "timePeriodStart"); var _timePeriodEnd = TryParseString(context, "timePeriodEnd"); //Φτιάχνουμε ένα surveyManager: VLSurveyManager surveyManager = VLSurveyManager.GetAnInstance(accessToken); //Βρισκουμε την επιλεγμένη όψη: var selectedview = surveyManager.GetViewById(viewId); //ΣΤΑ RESPONSES ΟΙ ΗΜΕΡΟΜΗΝΙΕΣ ΕΙΝΑΙ ΠΑΝΤΑ MM/DD/YYYY: var timePeriodStart = DateTime.ParseExact(_timePeriodStart, "MM/dd/yyyy", CultureInfo.InvariantCulture); var timePeriodEnd = DateTime.ParseExact(_timePeriodEnd, "MM/dd/yyyy", CultureInfo.InvariantCulture); selectedview = surveyManager.AddTimePeriodFilter(selectedview, timePeriodStart, timePeriodEnd); var _view = new { selectedview.Client, selectedview.UserId, selectedview.Survey, selectedview.ViewId, selectedview.Name, selectedview.IsDefaultView, selectedview.PartialShowInUse, selectedview.EnablePartialShow, selectedview.FilteringByCollectorInUse, selectedview.EnableFilteringByCollector, selectedview.FilteringByTimePeriodInUse, selectedview.EnableFilteringByTimePeriod, selectedview.FilteringByResponseTimeInUse, selectedview.EnableFilteringByResponseTime, selectedview.FilteringByQuestionInUse, selectedview.TimePeriodStart, selectedview.TimePeriodEnd, selectedview.TotalResponseTime, selectedview.TotalResponseTimeUnit, selectedview.TotalResponseTimeOperator, selectedview.NumberOfQuestionFilters }; var response = JsonConvert.SerializeObject(_view, Formatting.None); context.Response.Write(response); } catch { throw; } }
protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context) { var ViewId = TryParseGuid(context, "ViewId", true); var SurveyId = TryParseInt32(context, "SurveyId", true); var QuestionId = TryParseInt16(context, "QuestionId", true); var chartType = TryParseString(context, "chartType", true); VLSurveyManager surveyManager = VLSurveyManager.GetAnInstance(accessToken); VLViewQuestion question = null; if (string.Equals(chartType, "2" /*Pie*/, StringComparison.OrdinalIgnoreCase)) { question = surveyManager.SetChartType(ViewId, SurveyId, QuestionId, ChartType.Pie); } else if (string.Equals(chartType, "0" /*HorizontalBar*/, StringComparison.OrdinalIgnoreCase)) { question = surveyManager.SetChartType(ViewId, SurveyId, QuestionId, ChartType.HorizontalBar); } else if (string.Equals(chartType, "1" /*VerticalBar*/, StringComparison.OrdinalIgnoreCase)) { question = surveyManager.SetChartType(ViewId, SurveyId, QuestionId, ChartType.VerticalBar); } if (question != null) { var _question = new { question.ViewId, question.Survey, question.Question, question.ShowResponses, question.ShowChart, question.ShowDataTable, question.ShowDataInTheChart, question.HideZeroResponseOptions, question.SwapRowsAndColumns, question.ChartType, question.LabelType, question.AxisScale, question.ScaleMaxPercentage, question.ScaleMaxAbsolute, question.SummaryTotalAnswered, question.SummaryTotalSkipped }; var response = JsonConvert.SerializeObject(_question, Formatting.None); context.Response.Write(response); } else { throw new VLException(string.Format("There is no ViewQuestion (ViewId='{0}', SurveyId='{1}', QuestionId='{2}'", ViewId, SurveyId, QuestionId)); } }
protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context) { var surveyId = TryParseInt32(context, "surveyId"); var pageId = TryParseInt16(context, "pageId"); var questionsDeleteBehavior = TryParseByte(context, "questionsDeleteBehavior", required: false, defValue: 0); var surveyManager = VLSurveyManager.GetAnInstance(accessToken); surveyManager.DeleteSurveyPage(surveyId, pageId, (DeleteQuestionsBehavior)questionsDeleteBehavior); context.Response.Write("{}"); }
protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context) { var clientId = TryParseInt32(context, "clientId"); VLSurveyManager surveyManager = VLSurveyManager.GetAnInstance(accessToken); var dashboard = surveyManager.GetClientDashboard(clientId); var response = JsonConvert.SerializeObject(dashboard, Formatting.None); context.Response.Write(response); }
protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context) { try { var viewId = TryParseGuid(context, "viewId"); var totalResponseTimeOperator = (ResponseTimeOperator)TryParseByte(context, "totalResponseTimeOperator"); Int32 totalResponseTime = TryParseInt32(context, "totalResponseTime"); var totalResponseTimeUnit = (ResponseTimeUnit)TryParseByte(context, "totalResponseTimeUnit"); //Φτιάχνουμε ένα surveyManager: VLSurveyManager surveyManager = VLSurveyManager.GetAnInstance(accessToken); //Βρισκουμε την επιλεγμένη όψη: var selectedview = surveyManager.GetViewById(viewId); selectedview = surveyManager.AddResponseTimeFilter(selectedview, totalResponseTimeOperator, totalResponseTime, totalResponseTimeUnit); var _view = new { selectedview.Client, selectedview.UserId, selectedview.Survey, selectedview.ViewId, selectedview.Name, selectedview.IsDefaultView, selectedview.PartialShowInUse, selectedview.EnablePartialShow, selectedview.FilteringByCollectorInUse, selectedview.EnableFilteringByCollector, selectedview.FilteringByTimePeriodInUse, selectedview.EnableFilteringByTimePeriod, selectedview.FilteringByResponseTimeInUse, selectedview.EnableFilteringByResponseTime, selectedview.FilteringByQuestionInUse, selectedview.TimePeriodStart, selectedview.TimePeriodEnd, selectedview.TotalResponseTime, selectedview.TotalResponseTimeUnit, selectedview.TotalResponseTimeOperator, selectedview.NumberOfQuestionFilters }; var response = JsonConvert.SerializeObject(_view, Formatting.None); context.Response.Write(response); } catch { throw; } }
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)); } }
protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context) { var surveyId = TryParseInt32(context, "surveyId"); var questionId = TryParseInt16(context, "questionId"); var textsLanguage = TryParseInt16(context, "textsLanguage"); VLSurveyManager surveyManager = VLSurveyManager.GetAnInstance(accessToken); var options = surveyManager.GetQuestionOptions(surveyId, questionId, textsLanguage); var response = JsonConvert.SerializeObject(options, Formatting.None); context.Response.Write(response); }
protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context) { var surveyId = TryParseInt32(context, "surveyId"); var pageId = TryParseInt16(context, "pageId"); var textsLanguage = TryParseInt16(context, "textsLanguage", required: false, defValue: 0); var surveyManager = VLSurveyManager.GetAnInstance(accessToken); var options = surveyManager.GetDeleteSurveyPageOptions(surveyId, pageId); var response = JsonConvert.SerializeObject(options, Formatting.None); context.Response.Write(response); }