/// <summary> /// Gets message of the collection of entity of common. /// </summary> /// <param name="criteria"></param> /// <param name="queryPagingSetting"></param> /// <param name="queryOrderBySettingCollection"></param> /// <returns>business layer built-in message <see cref="List<Elmah.DataSourceEntities.ElmahSource>"/></returns> public async Task <Elmah.CommonBLLEntities.ElmahSourceResponseMessageBuiltIn> GetMessageOfEntityByIdentifier( Elmah.CommonBLLEntities.ElmahSourceChainedQueryCriteriaIdentifier criteria , Framework.Queries.QueryPagingSetting queryPagingSetting , Framework.Queries.QueryOrderBySettingCollection queryOrderBySettingCollection , Framework.Models.DataServiceTypes dataServiceType = Framework.Models.DataServiceTypes.DataSourceResult) { //log.Info(string.Format("{0}: GetMessageOfEntityByIdentifier", Framework.Models.LoggingOptions.UI_Process_Started.ToString())); var _Request = new Elmah.CommonBLLEntities.ElmahSourceRequestMessageUserDefinedOfIdentifier( Framework.Services.BusinessLogicLayerRequestTypes.Search , "GetMessageOfEntityByIdentifier" , Guid.NewGuid().ToString() ); _Request.Criteria = criteria; _Request.QueryPagingSetting = queryPagingSetting; if (queryOrderBySettingCollection == null || queryOrderBySettingCollection.Count == 0) { _Request.QueryOrderBySettingCollection = new Framework.Queries.QueryOrderBySettingCollection(); _Request.QueryOrderBySettingCollection.Add("Source", Framework.Queries.QueryOrderDirections.Ascending); } else { _Request.QueryOrderBySettingCollection = queryOrderBySettingCollection; } _Request.DataServiceType = dataServiceType; Elmah.CommonBLLEntities.ElmahSourceResponseMessageBuiltIn _Response = await GetCollectionOfEntityByIdentifier(_Request); return(_Response); }
/// <summary> /// Export current search result. /// </summary> /// <param name="dataServiceType">Type of the data service.</param> /// <returns></returns> //[Authorize(Roles = Elmah.MvcCore.Security.RolesCombination.AllRoles)] public async Task <ActionResult> Index_Export(Framework.Models.DataServiceTypes dataServiceType) { //log.Info(string.Format("{0}: Index_Export", Framework.Models.LoggingOptions.UI_Process_Started.ToString())); Framework.ViewModels.ViewModelBase <Elmah.CommonBLLEntities.ElmahHostChainedQueryCriteriaCommon> vmFromTempData; if (TempData.ContainsKey(TempDataKey_Index)) { using (var scope = _serviceProvider.CreateScope()) { vmFromTempData = (Framework.ViewModels.ViewModelBase <Elmah.CommonBLLEntities.ElmahHostChainedQueryCriteriaCommon>)JsonConvert.DeserializeObject <Framework.ViewModels.ViewModelBase <Elmah.CommonBLLEntities.ElmahHostChainedQueryCriteriaCommon> >(TempData[TempDataKey_Index].ToString()); var serviceInstance = (Elmah.WcfContracts.IElmahHostService)scope.ServiceProvider.GetRequiredService(typeof(Elmah.WcfContracts.IElmahHostService)); var searchResult = await serviceInstance.GetMessageOfEntityByCommon( vmFromTempData.Criteria , new Framework.Queries.QueryPagingSetting(-1, -1) , new Framework.Queries.QueryOrderBySettingCollection(vmFromTempData.QueryOrderBySettingCollecionInString) , dataServiceType); var result = searchResult.DataStreamServiceResult; TempData[TempDataKey_Index] = JsonConvert.SerializeObject(vmFromTempData.GetPrimaryInformationEntity()); TempData.Keep(TempDataKey_Index); return(File(result.Result, result.MIMEType, string.Format("Index_Export{0}{1}", result.DataServiceType, result.FileExtension))); } } return(null); }
/// <summary> /// Maps the data access layer message to business logic layer response message. /// </summary> /// <typeparam name="T">any type</typeparam> /// <typeparam name="TList">The type of the list.</typeparam> /// <param name="from">From.</param> /// <param name="to">To.</param> public static void MapDataAccessLayerMessageToBusinessLogicLayerResponseMessage <T, TList>( Framework.Models.DataAccessLayerMessageBase <T> from, BusinessLogicLayerResponseMessageBase <TList> to , Framework.Models.DataServiceTypes dataServiceType , Framework.Models.IDataStreamServiceProviderBase <TList, T> dataStreamServiceProvider) where TList : List <T>, new() where T : class, new() { if (from.DataAccessLayerMessageStatus == Framework.Models.DataAccessLayerMessageStatus.Success) { to.BusinessLogicLayerResponseStatus = BusinessLogicLayerResponseStatus.MessageOK; if (from.QueryPagingResult != null) { to.QueryPagingResult = from.QueryPagingResult.Clone(); } TList fromList = new TList(); fromList.Add(from.Result); to.DataStreamServiceResult = dataStreamServiceProvider.BuildResult(fromList, dataServiceType); } else if (from.DataAccessLayerMessageStatus == Framework.Models.DataAccessLayerMessageStatus.SuccessButNoResult) { to.BusinessLogicLayerResponseStatus = BusinessLogicLayerResponseStatus.NoValueFromDataSource; TList fromList = new TList(); fromList.Add(from.Result); to.DataStreamServiceResult = dataStreamServiceProvider.BuildResult(fromList, dataServiceType); } else { to.BusinessLogicLayerResponseStatus = BusinessLogicLayerResponseStatus.MessageErrorDetected; to.ServerErrorMessage = from.Message; } }
/// <summary> /// Gets message of the collection of entity of common. /// </summary> /// <param name="criteria"></param> /// <param name="queryPagingSetting"></param> /// <param name="queryOrderBySettingCollection"></param> /// <returns>business layer built-in message <see cref="Elmah.DataSourceEntities.MapItemCollection"/></returns> public async Task <Elmah.CommonBLLEntities.BusinessLogicLayerResponseMessageMapItemCollection> GetMessageOfMapItems( Elmah.CommonBLLEntities.GeoSearchCriteria criteria , Framework.Queries.QueryPagingSetting queryPagingSetting , Framework.Queries.QueryOrderBySettingCollection queryOrderBySettingCollection , Framework.Models.DataServiceTypes dataServiceType) { //log.Info(string.Format("{0}: GetMessageOfMapItems", Framework.Models.LoggingOptions.UI_Process_Started.ToString())); var _Request = new Elmah.CommonBLLEntities.GeoSearchRequestMessage(); _Request.Criteria = criteria; _Request.QueryPagingSetting = queryPagingSetting; if (queryOrderBySettingCollection == null || queryOrderBySettingCollection.Count == 0) { _Request.QueryOrderBySettingCollection = new Framework.Queries.QueryOrderBySettingCollection(); _Request.QueryOrderBySettingCollection.Add("Name", Framework.Queries.QueryOrderDirections.Ascending); } else { _Request.QueryOrderBySettingCollection = queryOrderBySettingCollection; } _Request.DataServiceType = dataServiceType; var _Response = await GetMapItems(_Request); return(_Response); }
public Framework.Models.DataStreamServiceResult BuildResult(TCollection input, Framework.Models.DataServiceTypes dataServiceType) { /* * if (dataServiceType == Framework.Models.DataServiceTypes.Csv) * { * Framework.Models.DataStreamServiceResult result = new Framework.Models.DataStreamServiceResult * { * DataServiceType = dataServiceType, * MIMEType = "text/csv", * FileExtension = ".csv" * }; * result.Result = BuildStreamOfLinqToCsv(input); * return result; * } * else */ if (dataServiceType == Framework.Models.DataServiceTypes.Excel2010) { Framework.Models.DataStreamServiceResult result = new Framework.Models.DataStreamServiceResult { DataServiceType = dataServiceType, MIMEType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", FileExtension = ".xlsx" }; result.Result = BuildStreamOfCloseXmlExcel2010(input); return(result); } else { throw new Exception(string.Format("Service Not Provided: {0}", dataServiceType)); } }