private ICollection <SaleDTO> Parse(string fullPath) { ICollection <SaleDTO> sales = new List <SaleDTO>(); string fileName = fullPath.Substring((fullPath.LastIndexOf(@"\") + 1)); string manager = fileName.Substring(0, fileName.LastIndexOf("_")); using (TextReader reader = File.OpenText(fullPath)) { while (reader.Peek() > -1) { string readedLine = reader.ReadLine(); var splitSaleInfo = readedLine.Split(','); try { SaleDTO s = new SaleDTO() { Date = DateTime.Parse(splitSaleInfo[0]), Manager = manager, Client = splitSaleInfo[1], Product = splitSaleInfo[2], Amount = double.Parse(splitSaleInfo[3]) }; sales.Add(s); } catch (Exception exception) { Console.WriteLine("Can't parse, because: {0}", exception.ToString()); } } } return(sales); }
public void AddSaleInfo(SaleDTO saleDto) { lock (_locker) { var manager = new DAL.Models.Manager { SecondName = saleDto.Manager }; var client = new DAL.Models.Client { FullName = saleDto.Client }; var product = new DAL.Models.Product { Name = saleDto.Product }; var managerId = _repositories.Managers.GetId(manager); if (managerId == null) { _repositories.Managers.Add(manager); _repositories.Save(); managerId = _repositories.Managers.GetId(manager); } var clientId = _repositories.Clients.GetId(client); if (clientId == null) { _repositories.Clients.Add(client); _repositories.Save(); clientId = _repositories.Clients.GetId(client); } var productId = _repositories.Products.GetId(product); if (productId == null) { _repositories.Products.Add(product); _repositories.Save(); productId = _repositories.Products.GetId(product); } var saleInfo = new DAL.Models.SaleInfo() { Date = saleDto.Date, ManagerId = (int)managerId, ClientId = (int)clientId, ProductId = (int)productId, Amount = saleDto.Amount }; _repositories.SalesInfo.Add(saleInfo); _repositories.Save(); } }
public void UpdateSaleInfo(SaleDTO saleDto) { var manager = new DAL.Models.Manager() { SecondName = saleDto.Manager }; var client = new DAL.Models.Client() { FullName = saleDto.Client }; var product = new DAL.Models.Product() { Name = saleDto.Product }; var managerId = _repositories.Managers.GetId(manager); if (managerId == null) { _repositories.Managers.Add(manager); _repositories.Save(); managerId = _repositories.Managers.GetId(manager); } var clientId = _repositories.Clients.GetId(client); if (clientId == null) { _repositories.Clients.Add(client); _repositories.Save(); clientId = _repositories.Clients.GetId(client); } var productId = _repositories.Products.GetId(product); if (productId == null) { _repositories.Products.Add(product); _repositories.Save(); productId = _repositories.Products.GetId(product); } var saleInfo = new DAL.Models.SaleInfo() { Date = saleDto.Date, ManagerId = (int)managerId, ClientId = (int)clientId, ProductId = (int)productId, Amount = saleDto.Amount }; var sale = _repositories.SalesInfo.GetAll().FirstOrDefault(s => (s.Id == saleDto.Id)); sale.Date = saleDto.Date; sale.ManagerId = (int)managerId; sale.ClientId = (int)clientId; sale.ProductId = (int)productId; sale.Amount = saleDto.Amount; _repositories.SalesInfo.Update(sale); _repositories.Save(); }