public OrderFileAccessResponse SaveOrders(OrderInfo orderInfo) { OrderFileAccessResponse response = DIContainer.Kernel.Get <OrderFileAccessResponse>(); response.FileName = string.Format(_fileName, orderInfo.OrderDate.ToString("MMddyyyy")); response.OrderInfo = orderInfo; response.Success = false; try { using (TextWriter file = File.CreateText(response.FileName)) { using (var csv = new CsvWriter(file)) { csv.WriteRecords(_orders); } } response.Success = true; } catch (Exception ex) { response.Message = $"An error has occurred trying to access {response.FileName}. Contact IT."; response.Error = ex; } return(response); }
public OrderFileAccessResponse AddOrder(OrderInfo orderInfo) { OrderFileAccessResponse response = DIContainer.Kernel.Get <OrderFileAccessResponse>(); response.OrderInfo = orderInfo; response.Success = false; var saveOrderNumber = orderInfo.OrderNumber; try { if (_orders.Exists(o => o.OrderNumber == saveOrderNumber)) { response.Message = $"Error: Order {saveOrderNumber} is a duplicate. This should not happen. \n Contact IT."; response.Success = false; } else { _orders.Add(orderInfo.Order); } } catch (Exception ex) { response.Message = $"Error occurred during lookup of order #{saveOrderNumber}"; response.Error = ex; } return(response); }
public OrderFileAccessResponse SaveOrder(OrderInfo orderInfo) { OrderFileAccessResponse response = DIContainer.Kernel.Get <OrderFileAccessResponse>(); response.OrderInfo = orderInfo; response.Success = false; try { int inx = _orders.FindIndex(o => o.OrderNumber == orderInfo.OrderNumber); if (inx > -1) { _orders[inx] = orderInfo.Order; } else { _orders.Add(orderInfo.Order); } response.Success = true; } catch (Exception ex) { response.Message = "An Error has occurred!"; response.Error = ex; } return(response); }
public OrderFileAccessResponse RemoveOrder(OrderInfo orderInfo) { OrderFileAccessResponse response = DIContainer.Kernel.Get <OrderFileAccessResponse>(); response.OrderInfo = orderInfo; response.Success = false; try { int inx = _orders.FindIndex(o => o.OrderNumber == orderInfo.OrderNumber); if (inx > -1) { _orders.RemoveAt(inx); response.Success = true; } else { response.Message = $"Error trying to remove order. Order {orderInfo.OrderNumber} was not found"; } } catch (Exception ex) { response.Message = "An Error has occurred!"; response.Error = ex; } return(response); }
public OrderFileAccessResponse SaveOrder(OrderInfo orderInfo) { OrderFileAccessResponse response = DIContainer.Kernel.Get <OrderFileAccessResponse>(); response.Success = false; response.OrderInfo = orderInfo; var fileresponse = _orderRepository.SaveOrder(orderInfo); response.Success = fileresponse.Success; if (fileresponse.Success) { response.Message = $"Order {orderInfo.Order.OrderNumber} saved"; } else { response.Message = fileresponse.Message; } return(response); }
public OrderFileAccessResponse GetOrder(OrderInfo orderInfo) { OrderFileAccessResponse response = DIContainer.Kernel.Get <OrderFileAccessResponse>(); response.FileName = _fileName; response.OrderInfo = orderInfo; response.Success = false; var saveOrderNumber = orderInfo.OrderNumber; try { if (_orders.Any()) { var result = _orders.Where(a => a.OrderNumber == saveOrderNumber).FirstOrDefault(); if (result != null) { response.OrderInfo.Order = result; response.Success = true; } else { response.Message = $"Order {saveOrderNumber} was not found."; } } else { response.Message = $"No orders with a date of {orderInfo.OrderDate}"; } } catch (Exception ex) { response.Message = $"Error occurred during lookup of order #{saveOrderNumber}"; response.Error = ex; } return(response); }
public OrderFileAccessResponse FetchOrders(DateTime orderDate) { OrderFileAccessResponse response = DIContainer.Kernel.Get <OrderFileAccessResponse>(); response.Success = false; response.OrderInfo = DIContainer.Kernel.Get <OrderInfo>(); response.OrderInfo.OrderDate = orderDate; response.FileName = String.Format(_fileName, orderDate.ToString("MMddyyyy")); _orders.Clear(); if (File.Exists(response.FileName)) { try { using (TextReader file = File.OpenText(response.FileName)) { using (var csv = new CsvReader(file)) { _orders = csv.GetRecords <Order>().ToList(); } } OrderDate = orderDate; response.Success = true; } catch (Exception ex) { response.Message = $"An error has occurred trying to access {response.FileName}. Contact IT."; response.Error = ex; }; } else { response.Message = $"No orders for {orderDate:MM-dd-yyyy}."; } return(response); }