public void Execute() { try { var projList = viewModel.Projection; projList.Clear(); var list = repo.SearchReleases( viewModel.ReleaseNoteNumber, viewModel.ReleaseNoteDate, viewModel.RailcarNumber, viewModel.Certificate, viewModel.Receiver); foreach (var release in list) { foreach (var car in release.Railcars) { projList.Add(new ReleaseNoteProjection { Id = release.Id, NoteNumber = release.Number, NoteDate = release.Date.ToShortDateString(), CarNumber = car.Number, CarCertificate = car.Certificate, CarDestination = car.Destination, Status = car.IsShipped ? Program.LanguageManager.GetString(StringResources.ReleaseNoteNewEdit_ShippedStatus) : Program.LanguageManager.GetString(StringResources.ReleaseNoteNewEdit_PendingStatus) }); } } viewModel.Projection = new BindingList <ReleaseNoteProjection>(projList); RefreshVisualStateEvent(); } catch (RepositoryException ex) { log.Error(ex.Message); notify.ShowFailure(ex.InnerException.Message, ex.Message); } }
public void Execute() { bool hasPipeCreteria = false; bool hasRailCarCreteria = false; hasPipeCreteria = viewModel.PipeNumber != string.Empty; hasRailCarCreteria = viewModel.RailcarNumber != string.Empty || viewModel.Certificate != string.Empty || viewModel.Receiver != string.Empty; if (Prizm.Main.Common.DateExtension.CheckDiapason(viewModel.StartDate, viewModel.EndDate)) { try { var projList = viewModel.Projection; projList.Clear(); List <Prizm.Domain.Entity.Mill.ReleaseNote> note = new List <Domain.Entity.Mill.ReleaseNote>();; if (!hasPipeCreteria && !hasRailCarCreteria) { note = repo.SearchReleases(viewModel.ReleaseNoteNumber, viewModel.StartDate, viewModel.EndDate); } else if (!hasPipeCreteria && hasRailCarCreteria) { note = repo.SearchReleasesByRailcar(viewModel.ReleaseNoteNumber, viewModel.StartDate, viewModel.EndDate, viewModel.RailcarNumber, viewModel.Certificate, viewModel.Receiver); } else { note = repo.SearchReleasesAllCreteria(viewModel.ReleaseNoteNumber, viewModel.StartDate, viewModel.EndDate, viewModel.PipeNumber, viewModel.RailcarNumber, viewModel.Certificate, viewModel.Receiver); } foreach (var release in note) { projList.Add(new ReleaseNoteProjection { Id = release.Id, NoteNumber = release.Number, NoteDate = release.Date.ToShortDateString(), Status = release.Shipped }); } viewModel.Projection = new BindingList <ReleaseNoteProjection>(projList); viewModel.Amount = viewModel.Projection.Count(); RefreshVisualStateEvent(); } catch (RepositoryException ex) { log.Error(ex.Message); notify.ShowFailure(ex.InnerException.Message, ex.Message); } } else { notify.ShowInfo(Program.LanguageManager.GetString(StringResources.WrongDate), Program.LanguageManager.GetString(StringResources.Message_ErrorHeader)); log.Warn("Date limits not valid!" + "Diapason: start date= " + viewModel.StartDate.ToString() + " end date= " + viewModel.EndDate.ToString()); } }