public List <Source> SourceProcess() { var sources = new List <Source>(); if (extractImplementation != null) { Dictionary <string, Source> daySources; GenericOutput <Source> genericOutput = null; try { daySources = extractImplementation.GetDaySources(); var dateNow = DateTimeOffset.Now.Date.ToString(Kernel.Instance.ServiceConfiguration.DateFormat); if (!Kernel.Instance.ServiceConfiguration.IncludeDateNow && daySources.ContainsKey(dateNow)) { daySources.Remove(dateNow); } genericOutput = ModelData.Instance.SourceSelect(new SourcePredicate { Source = new Criteria <List <Source> >(new List <Source>(daySources.Values.ToList())) }); } catch (Exception exception) { Kernel.Instance.Logging.Error(exception, false); daySources = null; } if (daySources != null && genericOutput != null) { foreach (var daySource in daySources) { try { var source = genericOutput.Entities.Find(item => item.Date == daySource.Value.Date); if (source != null && source.Length >= daySource.Value.Length) { continue; } Kernel.Instance.Logging.Information(string.Format("Process '{0}' day...", daySource.Key)); extractImplementation.ExtractDaySource(daySource); Transform(daySource.Value); Analyse(daySource.Value); sources.Add(ModelData.Instance.SourceCreate(daySource.Value)); Kernel.Instance.Logging.Information(string.Format("Day '{0}' processed.", daySource.Key)); } catch (Exception exception) { Kernel.Instance.Logging.Error(exception, false); } } } } return(sources); }
public static void SetGenericOutput(GenericOutput go) { if (go != null) { genericOutput = go; } else { GenerateOutput("Attempted to set the output method to null. CANNOT BE DONE! YOU ARE A DISGRACE IN THE NAME OF GORD!"); } }
private void ObjectSelectionChanged(object sender, SelectionChangedEventArgs e) { if ((e.Source as ComboBox).SelectedIndex == -1) { return; } var basicObject = (e.Source as ComboBox).SelectedItem as BasicObject; List <Packet> packets = basicObject switch { Booster _ => new List <Packet>(), GenericInput _ => new List <Packet>() { new SignOfLifeTimer() }, GenericOutput _ => new List <Packet>() { new SignOfLifeTimer(), new SetOutput() }, IRDetection _ => new List <Packet>(), LevelCrossing _ => new List <Packet>() { new SignOfLifeTimer(), new SetLevelCrossing() }, objects.Objects.Points _ => new List <Packet>() { new SignOfLifeTimer(), new ThrowPoints() }, SemaphoreWing _ => new List <Packet>(), SignalBoard _ => new List <Packet>(), Turntable _ => new List <Packet>(), _ => new List <Packet>(), }; packets.Insert(0, new RequestStatus()); (DataContext as ClientViewModel).Packets.Clear(); (DataContext as ClientViewModel).Packets.AddRange(packets); var packetsList = this.FindControl <ComboBox>("PacketsList"); packetsList.SelectedIndex = 0; }
private async void DisassociateBankCardDataCallback(GenericOutput genericOutput, Exception exception) { try { if (exception == null) { if (!string.IsNullOrEmpty(genericOutput.status)) { var handler = new StatusCodeDisassociateCardHandler(); await handler.HandleStatusCodeResult(genericOutput.status); if (handler.StatusCode == StatusCodeHandler.EnumStatusCodes.SUCCESS) { bool result = await LocalStoreCardsHelper.DeleteCardFromLocalCardsStore(SelectedCard.Idc); if (result) { if (SelectedCard.CardP2PParameters.IsDefaultForPurchases) { StorageUtils.removeData(StorageUtils.kCardDefaultForPurchases); } Cards.Remove(Cards.FirstOrDefault(c => c.Idc == SelectedCard.Idc)); } } IsLoading = false; NavigateServiceManager.Instance.HandleCompleteNavigation(handler); } } IsLoading = false; } catch (Exception) { IsLoading = false; } }
private static GenericOutput <T> Action <T, P>(string storedProcedureName, GenericInput <T, P> genericInput) where T : GenericEntity where P : GenericPredicate { var genericOutput = new GenericOutput <T> { ActionType = genericInput.ActionType, Pager = new Pager(), Entities = new List <T>() }; if (genericInput.Predicate != null && genericInput.Predicate.Pager != null) { genericOutput.Pager = genericInput.Predicate.Pager; } var sqlCommand = new SqlCommand { CommandText = storedProcedureName, CommandType = CommandType.StoredProcedure }; sqlCommand.Parameters.AddWithValue("@genericInput", EngineStatic.PortableXmlSerialize(genericInput)); var number = new SqlParameter { ParameterName = "@number", Direction = ParameterDirection.Output, DbType = DbType.Int32 }; sqlCommand.Parameters.Add(number); using (var sqlConnection = new SqlConnection(Kernel.Instance.ServiceConfiguration.DatabaseConnectionString.ConnectionString)) { sqlConnection.Open(); sqlCommand.Connection = sqlConnection; Kernel.SetDatabaseTimeout(sqlCommand); using (var dataReader = sqlCommand.ExecuteReader()) { while (dataReader.Read()) { var keyValues = new Dictionary <string, object>(); for (var index = 0; index < dataReader.FieldCount; index++) { if (dataReader.IsDBNull(index)) { continue; } keyValues.Add(dataReader.GetName(index), dataReader.GetValue(index)); } var genericEntity = (T)Activator.CreateInstance(typeof(T)); var undefined = genericEntity.Map(keyValues); if (!undefined) { genericOutput.Entities.Add(genericEntity); } } } sqlConnection.Close(); } if (number.Value != DBNull.Value) { genericOutput.Pager.Number = (int)number.Value; } if (genericOutput.Entities.Count > 0) { genericOutput.Entity = genericOutput.Entities[0]; genericOutput.Pager.Count = genericOutput.Entities.Count; } return(genericOutput); }
/// <summary> /// Add data in the EDI segment /// </summary> /// <param name="segment">Segment</param> /// <param name="node">Node with the configuration</param> /// <param name="handler">Orquestator</param> /// <param name="section">Parent Section</param> /// <param name="output">Output</param> /// <returns>Objeto con los datos</returns> public IANSISegment GetANSISegment(IANSISegment segment, XmlNode node, OwlHandler handler, SectionOutput section, GenericOutput output) { foreach (XmlNode nElement in handler.ConfigMap.GetNotHiddenOutputElements(node)) { ElementOutput element = (ElementOutput)handler.XOMLValidator.GetXOMLObject(new ElementOutput(), nElement, handler); output.GetElementValue(element, nElement, section); SetProperty(element.Name, segment, element.Value); } return(segment); }