private List<CredentialHolder> getData()
 {
     using (var db = new ItriumDbContext())
     {
         return db.CredentialHolder.OrderBy(credentialHolder => credentialHolder.name).ToList();
     }
 }
 private List<ErrorData> getData()
 {
     using (var db = new ItriumDbContext())
     {
         return db.ErrorData.OrderByDescending(errorData => errorData.errorDate).ToList();
     }
 }
        public void persistEvent(Dictionary<string, string> data, EventOriginalData eventOriginalData)
        {
            if (data.Keys.Count != 0)
            {
                using (ItriumDbContext db = new ItriumDbContext())
                {
                    CredentialHolder holder = getCredentialHolderByName(data["Data.CredentialHolderName"].Trim(), db);

                    EventSource eventSource = getEventSourceByAPName(data["Source.AccessPointName"], db);
                    eventSource.accessPointToken = data["Source.AccessPointToken"];//Возможно нужно искать по этому параметру
                    eventSource.nameSomeData = data["Source.NameSomeData"];

                    EventData eventData = new EventData
                    {
                        dateTime = DateTime.Now,
                        credentialHolder = holder,
                        сard = data["Data.Card"],
                        headline = data["Data.Headline"],
                        clockNumber = data["Data.ClockNumber"],
                        credentialToken = data["Data.CredentialToken"],
                        originalData = eventOriginalData,
                        eventSource = eventSource
                    };

                    db.EventData.Add(eventData);
                    db.SaveChanges();
                }
            }
        }
 public EventSource getEventSourceByAPName(string accessPointName, ItriumDbContext db)
 {
     EventSource eventSource = null;
     var eventSources = db.EventSource.Where(ch => ch.accessPointName.Equals(accessPointName));
     eventSource = !eventSources.Any() ? addNewEventSource(accessPointName, db) : eventSources.First();
     return eventSource;
 }
 public CredentialHolder getCredentialHolderByName(string name, ItriumDbContext db)
 {
     CredentialHolder holder = null;
     var holders = db.CredentialHolder.Where(ch => ch.name.Equals(name));
     holder = !holders.Any() ? addNewCredentialHolder(name, db) : holders.First();
     return holder;
 }
 public void persistError(string title, Exception exception)
 {
     using (var db = new ItriumDbContext())
     {
         var errorData = new ErrorData
         {
             errorDate = DateTime.Now,
             title = title,
             msg = exception.Message
         };
         db.ErrorData.Add(errorData);
         db.SaveChanges();
     }
 }
 private List<object> getData()
 {
     var events = new List<object>();
     using (var db = new ItriumDbContext())
     {
         var queEvents = (from e in db.EventData
                          select new {e.ID,
                              e.dateTime,
                              credentialHolder = e.credentialHolder.name,
                              e.сard,
                              e.clockNumber,
                              accessPoint = e.eventSource.accessPointName,
                              e.headline,
                              e.credentialToken
                              }).OrderByDescending(e => e.dateTime).ToList();
         events.AddRange(queEvents);
     }
     return events;
 }
        /// <summary>
        /// Заполнить значения 
        /// </summary>
        private void fillApplicationProperties()
        {
            using (ItriumDbContext db = new ItriumDbContext())
            {
                //Пользователь
                AppProperty appProperty = getProperty("USER_NAME", db);
                if (appProperty == null)
                {
                    appProperty = newProperty("USER_NAME", AppProperties.Default.USER_NAME, db);
                }
                AppProperties.UserName = appProperty.Val;

                //Пароль
                appProperty = getProperty("USER_PASSWORD", db);
                if (appProperty == null)
                {
                    appProperty = newProperty("USER_PASSWORD", AppProperties.Default.USER_PASSWORD, db);
                }
                AppProperties.UserPassword = appProperty.Val;

                //Адрес слушателя
                appProperty = getProperty("EVENT_LISTENER_ADDRESS", db);
                if (appProperty == null)
                {
                    appProperty = newProperty("EVENT_LISTENER_ADDRESS", AppProperties.Default.EVENT_LISTENER_ADDRESS, db);
                }
                AppProperties.EventListenerAddress = appProperty.Val;

                //URL web-службы Itrium
                appProperty = getProperty("ITRIUM_WS_URL", db);
                if (appProperty == null)
                {
                    appProperty = newProperty("ITRIUM_WS_URL", AppProperties.Default.ITRIUM_WS_URL, db);
                }
                AppProperties.ItriumWsUrl = appProperty.Val;

                //Имя файла в который сохраняются результаты запросов от Itrium
                appProperty = getProperty("RESULT_FILE_NAME", db);
                if (appProperty == null)
                {
                    appProperty = newProperty("RESULT_FILE_NAME", AppProperties.Default.RESULT_FILE_NAME, db);
                }
                AppProperties.ResultFileName = appProperty.Val;
            }
        }
        private AppProperty newProperty(string name, string val, ItriumDbContext db)
        {
            AppProperty appProperty = new AppProperty();
            appProperty.Name = name;
            appProperty.Val = val;
            db.AppProperty.Add(appProperty);
            db.SaveChanges();

            return appProperty;
        }
 private AppProperty getProperty(string name, ItriumDbContext db)
 {
     IQueryable<AppProperty> qPropertiesDatas = db.AppProperty.Where(s => s.Name.Equals(name));
     if (qPropertiesDatas.Any())
     {
         return qPropertiesDatas.First();
     }
     else
     {
         return null;
     }
 }
 internal EventOriginalData persistEventOriginal(string requestData)
 {
     EventOriginalData eventOriginalData;
     using (var db = new ItriumDbContext())
     {
         eventOriginalData = new EventOriginalData
         {
             originalData = requestData,
             dateTime = DateTime.Now
         };
         db.EventOriginalData.Add(eventOriginalData);
         db.SaveChanges();
     }
     return eventOriginalData;
 }
 private EventSource addNewEventSource(string accessPointName, ItriumDbContext db)
 {
     return new EventSource { accessPointName = accessPointName };
 }
 private CredentialHolder addNewCredentialHolder(string name, ItriumDbContext db)
 {
     var holder = new CredentialHolder {name = name};
     db.CredentialHolder.Add(holder);
     return holder;
 }