public LICSRequestDelivery[] GetRequestDeliveries() { LICSRequestDelivery[] deliveries = new LICSRequestDelivery[] { }; IPluginSettings plugingSettings = _pluginSettings.AllAvailablePluginSettings().FirstOrDefault(pl => pl.CheckDeliveries); if (plugingSettings == null) { //_logger.Log("There was not adjusted any article setting"); return(deliveries); } try { foreach (var plugin in CustomerDataPlugins) { if (((string)plugin.Metadata[CurrentServiceInformation.NameForPluginMetadata]).Equals(Enum.GetName(typeof(CustomDataSourceTypes), plugingSettings.PluginType))) { deliveries = plugin.Value.GetRequestDeliveries(plugingSettings); break; } } } catch (Exception ex) { // _logger.Log(ex); } return(deliveries); }
public LICSRequestDelivery[] GetRequestDeliveries() { LICSRequestDelivery[] requestDeliveries = new LICSRequestDelivery[] { }; try { using (var connection = new SqlConnection(DbConnection)) { connection.Open(); var cmdText = _pluginSettings.DeliveriesQuery; SqlCommand cmd = new SqlCommand(cmdText, connection); SqlDataReader reader = cmd.ExecuteReader(); requestDeliveries = LoadDeliveries(reader, connection); } } catch (Exception ex) { } return(requestDeliveries); }
private LICSRequestDelivery[] LoadDeliveries(IDataReader reader, SqlConnection connection) { DataTable table = new DataTable(); List <LICSRequestDelivery> deliveries = new List <LICSRequestDelivery>(); table.Load(reader); foreach (DataRow row in table.AsEnumerable()) { try { LICSRequestDelivery deliveryItem = new LICSRequestDelivery(); foreach (DataColumn column in row.Table.Columns) { var res = row[column.ColumnName]; PropertyInfo propertyInfo = deliveryItem.GetType().GetProperty(column.ColumnName); if (row[column.ColumnName].GetType().Equals(DBNull.Value.GetType())) { propertyInfo.SetValue(deliveryItem, Convert.ChangeType(GetDefaultValue(propertyInfo.PropertyType), propertyInfo.PropertyType), null); } else { propertyInfo.SetValue(deliveryItem, Convert.ChangeType(row[column.ColumnName].ToString().Trim(), propertyInfo.PropertyType), null); } } deliveryItem.Positions = GetDeliveryPositions(connection, deliveryItem.DeliveryNo); deliveries.Add(deliveryItem); } catch (Exception ex) { _loger.Log("Exception while reflect DataColumn values using Reflection in Load Deliveries"); _loger.Log(ex); } //string deliveryNo = (row["DeliveryNo"] ?? string.Empty).ToString(); //DateTime deliveryDate; //if (!DateTime.TryParse(row["DeliveryDate"].ToString(), out deliveryDate)) //{ //} //DateTime orderDate; //if (!DateTime.TryParse(row["OrderDate"].ToString(), out orderDate)) //{ //} //LICSRequestDelivery delivery = new LICSRequestDelivery //{ // DeliveryNo = deliveryNo, // DeliveryDate = deliveryDate, // DeliveryArea = string.Empty,//(row["DeliveryArea"] ?? string.Empty).ToString(), According to sebastian's comments // DeliveryPlace = string.Empty,// (row["DeliveryPlace"] ?? string.Empty).ToString(), According to sebastian's comments // OrderDate = orderDate //}; //delivery.Positions = GetDeliveryPositions(connection, deliveryNo); //deliveries.Add(delivery); } return(deliveries.ToArray()); }