public OrderFilePositionViewModel(OrderFilePosition orderPosition) { this.orderPosition = orderPosition; }
public void AddFile(object o) { var filedialog = new OpenFileDialog(); var isOk = filedialog.ShowDialog(); if (isOk != true) { return; } var fileName = filedialog.FileName; string fileNewName; try { System.IO.File.Copy(fileName, Path.Combine(System.IO.Directory.GetCurrentDirectory(), this.order.ToString(), Path.GetFileNameWithoutExtension(fileName) + Path.GetExtension(fileName))); fileNewName = Path.Combine(System.IO.Directory.GetCurrentDirectory(), this.order.ToString(), Path.GetFileNameWithoutExtension(fileName) + Guid.NewGuid() + Path.GetExtension(fileName)); } catch (DirectoryNotFoundException ex) { System.IO.Directory.CreateDirectory(Path.Combine(System.IO.Directory.GetCurrentDirectory(), this.order.ToString())); System.IO.File.Copy(fileName, Path.Combine(System.IO.Directory.GetCurrentDirectory(), this.order.ToString(), Path.GetFileNameWithoutExtension(fileName) + Path.GetExtension(fileName))); fileNewName = Path.Combine(System.IO.Directory.GetCurrentDirectory(), this.order.ToString(), Path.GetFileNameWithoutExtension(fileName) + Path.GetExtension(fileName)); } catch (IOException ex) { var nw = Guid.NewGuid().ToString(); System.IO.File.Copy(fileName, Path.Combine(System.IO.Directory.GetCurrentDirectory(), this.order.ToString(), Path.GetFileNameWithoutExtension(fileName) + nw + Path.GetExtension(fileName))); fileNewName = Path.Combine(System.IO.Directory.GetCurrentDirectory(), this.order.ToString(), Path.GetFileNameWithoutExtension(fileName) + nw + Path.GetExtension(fileName)); } var max = this.orderFiles?.ToList().Count + 1 ?? 1; var newFilePosition = new OrderFilePosition { Name = fileNewName, Number = max, OrderGuid = this.order.OrderGuid, OrderId = this.order.OrderId }; if (this.order.FilePositions != null) { this.order.FilePositions.Add(newFilePosition); var orderFilePositionViewModels = this.orderFiles; if (orderFilePositionViewModels != null) { orderFilePositionViewModels.Add(new OrderFilePositionViewModel(newFilePosition)); } } else { this.order.FilePositions = new List <OrderFilePosition>(); this.order.FilePositions.Add(newFilePosition); var orderFilePositionViewModels = this.orderFiles; if (orderFilePositionViewModels != null) { orderFilePositionViewModels.Add(new OrderFilePositionViewModel(newFilePosition)); } } //this.orderFilePositionsViews.Add(new OrderFilePositionViewModel(newFilePosition)); this.OnPropertyChanged(nameof(orderFiles)); this.SaveChanges(); this.OnPropertyChanged(nameof(OrderFiles)); this.OnPropertyChanged(nameof(orderFiles)); }