public ActionResult DataProviders() { var viewManager = new DataProvidersViewManager(GetCurrentUser(), SessionHandler.MySettings); DataProvidersViewModel model = viewManager.CreateDataProvidersViewModel(); ViewBag.IsSettingsDefault = viewManager.IsDataProvidersDefault(); return(View(model)); }
public ActionResult DataProviders(string data) { var viewManager = new DataProvidersViewManager(GetCurrentUser(), SessionHandler.MySettings); var javascriptSerializer = new JavaScriptSerializer(); string[] selectedDataProviders = javascriptSerializer.Deserialize <string[]>(data); if (selectedDataProviders == null || selectedDataProviders.Length == 0) { ModelState.AddModelError("", Resources.Resource.DataProvidersDataProvidersAtLeastOneProviderMustBeSelected); DataProvidersViewModel model = viewManager.CreateDataProvidersViewModel(); ViewBag.IsSettingsDefault = viewManager.IsDataProvidersDefault(); return(View(model)); } viewManager.UpdateDataProviders(selectedDataProviders.ToList()); SessionHandler.UserMessages.Add(new UserMessage(Resources.Resource.DataProvidersDataProvidersUpdated)); return(RedirectToAction("DataProviders")); }
/// <summary> /// Constructor of an excel xml file with statistics on data providers. /// </summary> /// <param name="currentUser">Current user context</param> public DataProviderListExcelXml(IUserContext currentUser) : base() { var viewManager = new DataProvidersViewManager(currentUser, SessionHandler.MySettings); var data = viewManager.CreateDataProvidersViewModel(); _xmlBuilder = new StringBuilder(); //Add file definitions and basic format settings _xmlBuilder.AppendLine(base.GetInitialSection()); //Specify column and row counts _xmlBuilder.AppendLine(base.GetColumnInitialSection(4, data.DataProviders.Count)); //Specify column widths _xmlBuilder.AppendLine(base.GetColumnWidthLine(300)); _xmlBuilder.AppendLine(base.GetColumnWidthLine(270)); _xmlBuilder.AppendLine(base.GetColumnWidthLine(140)); _xmlBuilder.AppendLine(base.GetColumnWidthLine(140)); //Add row with column headers _xmlBuilder.AppendLine(base.GetRowStart()); _xmlBuilder.AppendLine(base.GetColumnNameRowLine(Resource.DataProvidersDataProvidersDataProvider)); _xmlBuilder.AppendLine(base.GetColumnNameRowLine("Organisation")); _xmlBuilder.AppendLine(base.GetColumnNameRowLine(Resource.DataProvidersDataProvidersNumberOfObservations)); _xmlBuilder.AppendLine(base.GetColumnNameRowLine(Resource.DataProvidersDataProvidersNumberOfPublicObservations)); _xmlBuilder.AppendLine(base.GetRowEnd()); //Data values foreach (DataProviderViewModel row in data.DataProviders) { _xmlBuilder.AppendLine(base.GetRowStart()); _xmlBuilder.AppendLine(base.GetDataRowLine("String", row.Name)); _xmlBuilder.AppendLine(base.GetDataRowLine("String", row.Organization)); _xmlBuilder.AppendLine(base.GetDataRowLine("Number", row.NumberOfObservations.ToString())); _xmlBuilder.AppendLine(base.GetDataRowLine("Number", row.NumberOfPublicObservations.ToString())); _xmlBuilder.AppendLine(base.GetRowEnd()); } //Add final section of the xml document. _xmlBuilder.AppendLine(base.GetFinalSection()); }
/// <summary> /// Creates an excel file. /// Writes the content of a list into a worksheet of an excelfile and save the file. /// </summary> /// <param name="autosizeColumnWidth"> /// If true, the columns will be autosized. /// </param> /// <returns> /// The <see cref="MemoryStream"/>. /// </returns> private MemoryStream CreateExcelFile(bool autosizeColumnWidth = false) { var memoryStream = new MemoryStream(); try { using (ExcelPackage package = new ExcelPackage(memoryStream)) { var viewManager = new DataProvidersViewManager(currentUser, SessionHandler.MySettings); var data = viewManager.CreateDataProvidersViewModel(); // Add a new worksheet to the empty workbook. // The name of the sheet can not be longer than 31 characters. var worksheet = package.Workbook.Worksheets.Add("SLW Data"); AddHeaders(worksheet); AddContentData(worksheet, data); FormatHeader(worksheet, 1, 4); if (autosizeColumnWidth) { worksheet.Cells.AutoFitColumns(0); } package.Save(); } memoryStream.Position = 0; return(memoryStream); } catch (Exception) { memoryStream.Dispose(); throw; } }