Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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());
            }
        }