예제 #1
0
        public OrderSaveResponse EditOrderInFile(Order ordertoedit, DateTime orderdate)
        {
            var allOrders = GetAllOrders();

            var selectedorder = LoadOrder(orderdate, ordertoedit.OrderNumber);
            var response      = new OrderSaveResponse();

            if (selectedorder == null)
            {
                response.Success = false;
                return(response);
            }
            else
            {
                selectedorder.CustomerName = ordertoedit.CustomerName;
                selectedorder.Area         = ordertoedit.Area;
                selectedorder.State        = ordertoedit.State;

                var newAllOrders = allOrders.TakeWhile(o => o.OrderNumber != ordertoedit.OrderNumber).ToList();

                newAllOrders.Add(ordertoedit);
                newAllOrders.OrderBy(o => o.OrderNumber);

                response.Success = true;
                return(response);
            }
        }
예제 #2
0
        public OrderSaveResponse EditOrderInFile(Order ordertoedit, DateTime orderdate)
        {
            var header = "OrderNumber|CustomerName|State|TaxRate|ProductType|Area|CostPerSquareFoot|LaborCostPerSquareFoot|MaterialCost|LaborCost|Tax|Total";

            var allCurrentOrders = GetAllOrders(orderdate);

            var newOrderList = allCurrentOrders.Where(o => o.OrderNumber != ordertoedit.OrderNumber).ToList();

            newOrderList.Add(ordertoedit);

            newOrderList = newOrderList.OrderBy(o => o.OrderNumber).ToList();

            var           path        = CreateFilePathFromDate(orderdate);
            List <string> newFileData = new List <string>();

            newFileData.Add(header);

            foreach (var order in newOrderList.OrderBy(o => o.OrderNumber))
            {
                var orderLine = $"{order.OrderNumber},{order.CustomerName},{order.State},{order.TaxRate},{order.ProductType},{order.Area},{order.CostPerSquareFoot},{order.LaborCostPerSquareFoot},{order.MaterialCost},{order.LaborCost},{order.Tax},{order.Total}.";
                newFileData.Add(orderLine);
            }

            File.Delete(path);
            File.WriteAllLines(path, newFileData);

            var response = new OrderSaveResponse();

            response.Success = true;
            response.Message = "Order edited in file.";
            return(response);
        }
예제 #3
0
        public OrderSaveResponse SaveOrderToFile(Order order, DateTime orderdate)
        {
            _testrepo.Add(order);
            var response = new OrderSaveResponse();

            response.Success = true;
            return(response);
        }
예제 #4
0
        public OrderSaveResponse SaveOrderToFile(Order order, DateTime orderdate)
        {
            var response          = OrderFileExistsInDirectory(orderdate);
            var ordersaveresponse = new OrderSaveResponse();

            if (response == true)
            {
                var           path             = CreateFilePathFromDate(orderdate);
                var           allLinesFromFile = File.ReadAllLines(path);
                var           orderLine        = $"{order.OrderNumber},{order.CustomerName},{order.State},{order.TaxRate},{order.ProductType},{order.Area},{order.CostPerSquareFoot},{order.LaborCostPerSquareFoot},{order.MaterialCost},{order.LaborCost},{order.Tax},{order.Total}";
                List <string> allLinesToSave   = new List <string>();
                allLinesToSave.Add(orderLine);

                File.AppendAllLines(path, allLinesToSave);

                ordersaveresponse.Success = true;
                ordersaveresponse.Message = $"New order added to {orderdate}.";
                return(ordersaveresponse);
            }
            else if (response == false)
            {
                var           path           = CreateFilePathFromDate(orderdate);
                var           orderLine      = $"{order.OrderNumber},{order.CustomerName},{order.State},{order.TaxRate},{order.ProductType},{order.Area},{order.CostPerSquareFoot},{order.LaborCostPerSquareFoot},{order.MaterialCost},{order.LaborCost},{order.Tax},{order.Total}";
                List <string> allLinesToSave = new List <string>();
                allLinesToSave.Add(headerLine);
                allLinesToSave.Add(orderLine);

                File.AppendAllLines(path, allLinesToSave);

                ordersaveresponse.Success = true;
                ordersaveresponse.Message = "New order and file created.";
                return(ordersaveresponse);
            }
            else
            {
                ordersaveresponse.Success = false;
                ordersaveresponse.Message = "An error occured, unable to save order to file.  Contact IT!";
                return(ordersaveresponse);
            }
        }