예제 #1
0
        /// <summary>
        /// Записывает "описание операции" в хранилище
        /// </summary>
        /// <param name="operationDescription">"описание операции"</param>
        public void Save(int argument1,
            int argument2,
            decimal operationResult,
            OperationTypes operationType)
        {
            var operationDescription = new OperationDescription
            {
                //аргумент 1
                Argument1 = argument1,
                //аргумент 2
                Argument2 = argument2,
                //тип операции
                OperationType = operationType,
                //результат операции
                OperationResult = operationResult,
                //время операции (проставляется текущее)
                OperationTime = dateTimeService.DateTimeNow()
            };

            //сохраняем "описание операции" в хранилище
            this.Save(operationDescription);
        }
예제 #2
0
 /// <summary>
 /// Операция сохранения
 /// </summary>
 /// <param name="operationDescription">"описание операции"</param>
 private void SaveAsync(OperationDescription operationDescription)
 {
     //служба домена должна записать "описание операции" в хранилище
     this.repository.Save(operationDescription);
 }
예제 #3
0
 /// <summary>
 /// Подготовка полей для сохранения
 /// </summary>
 /// <param name="operationDescription">"описание операции"</param>
 private void SaveFields(OperationDescription operationDescription)
 {
     XElement element = new XElement("OperationDescription");
     element.Add(new XAttribute("Argument1", operationDescription.Argument1.ToString()));
     element.Add(new XAttribute("Argument2", operationDescription.Argument2.ToString()));
     element.Add(new XAttribute("OperationType", operationDescription.OperationType.ToString()));
     element.Add(new XAttribute("OperationResult", operationDescription.OperationResult.ToString()));
     element.Add(new XAttribute("OperationTime", operationDescription.OperationTime.ToString()));
     _document.Root.Add(element);
 }
예제 #4
0
 /// <summary>
 /// Запуск операции сохранения в отдельном потоке
 /// </summary>
 /// <param name="operationDescription">"описание операции"</param>
 /// <returns></returns>
 private Task Save(OperationDescription operationDescription)
 {
     Task task = Task.Factory.StartNew(() => SaveAsync(operationDescription));
     return task;
 }
예제 #5
0
 /// <summary>
 /// Сохранение "описания операции" в хранилище
 /// </summary>
 /// <param name="operationDescription">"описание операции"</param>
 public void Save(OperationDescription operationDescription)
 {
     this.SaveFields(operationDescription);
     this.SaveChanges();
 }