public SaveReleaseNoteCommand(ReleaseNoteViewModel viewModel, IReleaseNoteRepositories repo, IUserNotify notify, ISecurityContext ctx)
 {
     this.viewModel = viewModel;
     this.repos = repo;
     this.notify = notify;
     this.ctx = ctx;
 }
        private ProviderUserViewModel Convert(ProviderUser providerUser)
        {
            ReleaseNoteViewModel releaseNoteViewModel = null;
            var releaseNotes = _referenceDataService.GetReleaseNotes(DasApplication.Recruit);
            var releaseNote  = releaseNotes?.LastOrDefault(rn => rn.Version > providerUser.ReleaseNoteVersion);

            if (releaseNote != null)
            {
                releaseNoteViewModel = new ReleaseNoteViewModel
                {
                    Version = releaseNote.Version,
                    Note    = releaseNote.Note
                };
            }

            var viewModel = new ProviderUserViewModel
            {
                ProviderUserId        = providerUser.ProviderUserId,
                ProviderUserGuid      = providerUser.ProviderUserGuid,
                ProviderId            = providerUser.ProviderId,
                Ukprn                 = providerUser.Ukprn,
                ProviderName          = providerUser.ProviderName,
                Username              = providerUser.Username,
                DefaultProviderSiteId = providerUser.PreferredProviderSiteId ?? 0,
                EmailAddress          = providerUser.Email,
                EmailAddressVerified  = providerUser.Status == ProviderUserStatus.EmailVerified,
                Fullname              = providerUser.Fullname,
                PhoneNumber           = providerUser.PhoneNumber,
                CreatedDateTime       = providerUser.CreatedDateTime,
                ReleaseNoteViewModel  = releaseNoteViewModel
            };

            return(viewModel);
        }
        public ReleaseNoteNewEditXtraForm(Guid id)
        {
            this.Id = id;

            InitializeComponent();
            viewModel = (ReleaseNoteViewModel)Program.Kernel.Get<ReleaseNoteViewModel>(new ConstructorArgument("id", id));
            viewModel.ModifiableView = this;
            viewModel.validatableView = this;
            viewModel.PropertyChanged += (s, e) => IsModified = true;

            releaseNoteDate.Properties.NullDate = DateTime.MinValue;
            releaseNoteDate.Properties.NullText = string.Empty;

            this.releaseNoteDate.SetRequiredText();
            this.releaseNoteNumber.SetRequiredText();
            SetControlsTextLength();
            this.certificateNumber.SetAsIdentifier();
            this.pipeNumberLookUp.SetAsLookUpIdentifier();
            this.releaseNoteNumber.SetAsIdentifier();
            this.railcarNumber.SetAsLookUpIdentifier();

            SetAlwaysReadOnly(textEditReleaseNoteStatus);
            IsEditMode &= ctx.HasAccess(global::Domain.Entity.Security.Privileges.EditReleaseNote);
            attachmentsButton.Enabled = true;
            CannotOpenForViewing = id == Guid.Empty;
        }
Exemple #4
0
        public ActionResult ManageReleaseNote(ReleaseNoteViewModel model)
        {
            // Check Model.
            if (ModelState.IsValid)
            {
                model = Mapper.Map <ReleaseNoteViewModel>(Factory.Save(model as IReleaseNoteDto));
            }

            return(PartialView("_ReleaseNoteManage", model));
        }
Exemple #5
0
        public ActionResult AllNotes(string Id)
        {
            int pageNo = Convert.ToInt32(Id);
            var Data   = this._userService.GetAllNotes();
            ReleaseNoteViewModel model = new ReleaseNoteViewModel();

            model.PageSize    = 5;
            model.AllData     = Data.OrderByDescending(o => o.PLMMVersion.ReleaseDate).Skip((pageNo - 1) * model.PageSize).Take(model.PageSize).ToList();
            model.CurrentPage = pageNo;
            model.TotalPages  = Math.Ceiling((double)Data.Count() / model.PageSize);
            return(View(model));
        }
        public void UnshipRailcarCommand()
        {
            notify = new Mock<IUserNotify>();
            repos = new Mock<IReleaseNoteRepositories>();
            pipeRepo = new Mock<IPipeRepository>();
            carRepo = new Mock<IRailcarRepository>();
            var ctx = new Mock<ISecurityContext>();

            pipeRepo.Setup(x => x.GetStored()).Returns(new List<Pipe>() { new Pipe() });
            repos.SetupGet(_ => _.PipeRepo).Returns(pipeRepo.Object);
            repos.SetupGet(_ => _.RailcarRepo).Returns(carRepo.Object);


            viewModel = new ReleaseNoteViewModel(repos.Object, Guid.Empty, notify.Object, ctx.Object);
            viewModel.Railcar.Number = "Railcar";
            command = new UnshipReleaseNoteCommand(viewModel, repos.Object, notify.Object, ctx.Object);

            command.Execute();

        }
Exemple #7
0
        public void TestSaveNewRailcar()
        {
            //FIX: Test was broken!
            var notify            = new Mock <IUserNotify>();
            var view              = new Mock <IModifiable>();
            var railcarRepo       = new Mock <IRailcarRepository>();
            var pipeRepo          = new Mock <IPipeRepository>();
            var releaseRepo       = new Mock <IReleaseNoteRepository>();
            var simpleReleaseRepo = new Mock <ISimpleNoteRepository>();
            //pipeRepo.Setup(x => x.GetStored()).Returns(new List<SimplePipe>() { new SimplePipe() });
            var repos = new Mock <IReleaseNoteRepositories>();
            var ctx   = new Mock <ISecurityContext>();

            repos.SetupGet(_ => _.PipeRepo).Returns(pipeRepo.Object);
            repos.SetupGet(_ => _.RailcarRepo).Returns(railcarRepo.Object);
            repos.SetupGet(_ => _.ReleaseNoteRepo).Returns(releaseRepo.Object);
            repos.SetupGet(_ => _.SimpleNoteRepo).Returns(simpleReleaseRepo.Object);

            var viewModel = new ReleaseNoteViewModel(repos.Object, Guid.Empty, notify.Object, ctx.Object);

            viewModel.ModifiableView = new Mock <IModifiable>().Object;
            var validatable = new Mock <IValidatable>();

            validatable.Setup(x => x.Validate()).Returns(true);
            viewModel.validatableView = validatable.Object;
            viewModel.ReleaseNote     = new SimpleNote();
            viewModel.Number          = "Test Railcar";
            viewModel.Date            = DateTime.Now;
            viewModel.ModifiableView  = view.Object;
            viewModel.Railcar.Pipes.Add(new SimplePipe());
            var command = new SaveReleaseNoteCommand(viewModel, repos.Object, notify.Object, ctx.Object);

            command.Execute();

            repos.Verify(_ => _.BeginTransaction(), Times.Once());
            //railcarRepo.Verify(_ => _.SaveOrUpdate(viewModel.Railcar), Times.Once());
            repos.Verify(_ => _.Commit(), Times.Once());
            //railcarRepo.Verify(_ => _.Evict(viewModel.Railcar), Times.Once());
        }
Exemple #8
0
        public void UnshipRailcarCommand()
        {
            notify   = new Mock <IUserNotify>();
            repos    = new Mock <IReleaseNoteRepositories>();
            pipeRepo = new Mock <IPipeRepository>();
            carRepo  = new Mock <IRailcarRepository>();
            var ctx = new Mock <ISecurityContext>();

            pipeRepo.Setup(x => x.GetStored()).Returns(new List <Pipe>()
            {
                new Pipe()
            });
            repos.SetupGet(_ => _.PipeRepo).Returns(pipeRepo.Object);
            repos.SetupGet(_ => _.RailcarRepo).Returns(carRepo.Object);


            viewModel = new ReleaseNoteViewModel(repos.Object, Guid.Empty, notify.Object, ctx.Object);
            viewModel.Railcar.Number = "Railcar";
            command = new UnshipReleaseNoteCommand(viewModel, repos.Object, notify.Object, ctx.Object);

            command.Execute();
        }
        public void TestSaveNewRailcar()
        {
            //FIX: Test was broken!
            var notify = new Mock<IUserNotify>();
            var view = new Mock<IModifiable>();
            var railcarRepo = new Mock<IRailcarRepository>();
            var pipeRepo = new Mock<IPipeRepository>();
            var releaseRepo = new Mock<IReleaseNoteRepository>();
            var simpleReleaseRepo = new Mock<ISimpleNoteRepository>();
            //pipeRepo.Setup(x => x.GetStored()).Returns(new List<SimplePipe>() { new SimplePipe() });
            var repos = new Mock<IReleaseNoteRepositories>();
            var ctx = new Mock<ISecurityContext>();
            repos.SetupGet(_ => _.PipeRepo).Returns(pipeRepo.Object);
            repos.SetupGet(_ => _.RailcarRepo).Returns(railcarRepo.Object);
            repos.SetupGet(_ => _.ReleaseNoteRepo).Returns(releaseRepo.Object);
            repos.SetupGet(_ => _.SimpleNoteRepo).Returns(simpleReleaseRepo.Object);

            var viewModel = new ReleaseNoteViewModel(repos.Object, Guid.Empty, notify.Object,ctx.Object);
            viewModel.ModifiableView = new Mock<IModifiable>().Object;
            var validatable = new Mock<IValidatable>();
            validatable.Setup(x => x.Validate()).Returns(true);
            viewModel.validatableView = validatable.Object;
            viewModel.ReleaseNote = new SimpleNote();
            viewModel.Number = "Test Railcar";
            viewModel.Date = DateTime.Now;
            viewModel.ModifiableView = view.Object;
            viewModel.Railcar.Pipes.Add(new SimplePipe());
            var command = new SaveReleaseNoteCommand(viewModel, repos.Object, notify.Object, ctx.Object);

            command.Execute();

            repos.Verify(_ => _.BeginTransaction(), Times.Once());
            //railcarRepo.Verify(_ => _.SaveOrUpdate(viewModel.Railcar), Times.Once());
            repos.Verify(_ => _.Commit(), Times.Once());
            //railcarRepo.Verify(_ => _.Evict(viewModel.Railcar), Times.Once());
        }
Exemple #10
0
        public void AddFileToRailcar()
        {
            if (!Directory.Exists(Directories.FilesToAttachFolder))
            {
                Directory.CreateDirectory(Directories.FilesToAttachFolder);
                DirectoryInfo directoryInfo = new DirectoryInfo(Directories.FilesToAttachFolder);
                directoryInfo.Attributes |= FileAttributes.Hidden;
            }
            using (FileStream fs = System.IO.File.Create(Directories.FilesToAttachFolder + "test.txt"))
            {
                Byte[] info = new UTF8Encoding(true).GetBytes("This is some text in the file.");
                fs.Write(info, 0, info.Length);
            }

            var notify         = new Mock <IUserNotify>();
            var view           = new Mock <IModifiable>();
            var railcarRepo    = new Mock <IRailcarRepository>();
            var simpleNoteRepo = new Mock <ISimpleNoteRepository>();
            var pipeRepo       = new Mock <IPipeRepository>();
            var ctx            = new Mock <ISecurityContext>();

            pipeRepo.Setup(x => x.GetStored()).Returns(new List <Pipe>()
            {
                new Pipe()
            });
            var repos = new Mock <IReleaseNoteRepositories>();

            repos.SetupGet(_ => _.PipeRepo).Returns(pipeRepo.Object);
            repos.SetupGet(_ => _.RailcarRepo).Returns(railcarRepo.Object);
            repos.SetupGet(_ => _.SimpleNoteRepo).Returns(simpleNoteRepo.Object);

            var fileRepo          = new Mock <IFileRepository>();
            var projectRepo       = new Mock <IProjectRepository>();
            var externalFilesRepo = new Mock <IExternalFilesRepositories>();

            projectRepo.Setup(x => x.GetSingle()).Returns(new Project());
            externalFilesRepo.SetupGet(_ => _.FileRepo).Returns(fileRepo.Object);
            externalFilesRepo.SetupGet(_ => _.ProjectRepo).Returns(projectRepo.Object);

            var fileViewModel = new ExternalFilesViewModel(externalFilesRepo.Object, notify.Object);

            fileViewModel.FilesToAttach.Add("test.txt", "test.txt");

            var viewModel = new ReleaseNoteViewModel(repos.Object, Guid.Empty, notify.Object, ctx.Object);

            viewModel.ModifiableView = new Mock <IModifiable>().Object;
            var validatable = new Mock <IValidatable>();

            validatable.Setup(x => x.Validate()).Returns(true);
            viewModel.validatableView    = validatable.Object;
            viewModel.Railcar.Number     = "Test Railcar";
            viewModel.Number             = "Test Railcar";
            viewModel.Date               = DateTime.Now;
            viewModel.ModifiableView     = view.Object;
            viewModel.FilesFormViewModel = fileViewModel;
            viewModel.Railcar.Pipes.Add(new SimplePipe());
            var command = new SaveReleaseNoteCommand(viewModel, repos.Object, notify.Object, ctx.Object);

            command.Execute();

            repos.Verify(_ => _.BeginTransaction(), Times.Once());
            simpleNoteRepo.Verify(_ => _.SaveOrUpdate(It.IsAny <SimpleNote>()), Times.Once());
            repos.Verify(_ => _.Rollback(), Times.AtMostOnce());
            repos.Verify(_ => _.Commit(), Times.Once());
            simpleNoteRepo.Verify(_ => _.Evict(It.IsAny <SimpleNote>()), Times.Once());

            if (Directory.Exists(Directories.TargetPath))
            {
                Directory.Delete(Directories.TargetPath, true);
            }
        }
        public void AddFileToRailcar()
        {
            if (!Directory.Exists(Directories.FilesToAttachFolder))
            {
                Directory.CreateDirectory(Directories.FilesToAttachFolder);
                DirectoryInfo directoryInfo = new DirectoryInfo(Directories.FilesToAttachFolder);
                directoryInfo.Attributes |= FileAttributes.Hidden;
            }
            using (FileStream fs = System.IO.File.Create(Directories.FilesToAttachFolder + "test.txt"))
            {
                Byte[] info = new UTF8Encoding(true).GetBytes("This is some text in the file.");
                fs.Write(info, 0, info.Length);
            }

            var notify = new Mock<IUserNotify>();
            var view = new Mock<IModifiable>();
            var railcarRepo = new Mock<IRailcarRepository>();
            var simpleNoteRepo = new Mock<ISimpleNoteRepository>();
            var pipeRepo = new Mock<IPipeRepository>();
            var ctx = new Mock<ISecurityContext>();
            pipeRepo.Setup(x => x.GetStored()).Returns(new List<Pipe>() { new Pipe() });
            var repos = new Mock<IReleaseNoteRepositories>();
            repos.SetupGet(_ => _.PipeRepo).Returns(pipeRepo.Object);
            repos.SetupGet(_ => _.RailcarRepo).Returns(railcarRepo.Object);
            repos.SetupGet(_ => _.SimpleNoteRepo).Returns(simpleNoteRepo.Object);

            var fileRepo = new Mock<IFileRepository>();
            var projectRepo = new Mock<IProjectRepository>();
            var externalFilesRepo = new Mock<IExternalFilesRepositories>();
            projectRepo.Setup(x => x.GetSingle()).Returns(new Project());
            externalFilesRepo.SetupGet(_ => _.FileRepo).Returns(fileRepo.Object);
            externalFilesRepo.SetupGet(_ => _.ProjectRepo).Returns(projectRepo.Object);

            var fileViewModel = new ExternalFilesViewModel(externalFilesRepo.Object, notify.Object);
            
            fileViewModel.FilesToAttach.Add("test.txt", "test.txt");

            var viewModel = new ReleaseNoteViewModel(repos.Object, Guid.Empty, notify.Object, ctx.Object);
            viewModel.ModifiableView = new Mock<IModifiable>().Object;
            var validatable = new Mock<IValidatable>();
            validatable.Setup(x => x.Validate()).Returns(true);
            viewModel.validatableView = validatable.Object;
            viewModel.Railcar.Number = "Test Railcar";
            viewModel.Number = "Test Railcar";
            viewModel.Date = DateTime.Now;
            viewModel.ModifiableView = view.Object;
            viewModel.FilesFormViewModel = fileViewModel;
            viewModel.Railcar.Pipes.Add(new SimplePipe());
            var command = new SaveReleaseNoteCommand(viewModel, repos.Object, notify.Object, ctx.Object);

            command.Execute();

            repos.Verify(_ => _.BeginTransaction(), Times.Once());
            simpleNoteRepo.Verify(_ => _.SaveOrUpdate(It.IsAny<SimpleNote>()), Times.Once());
            repos.Verify(_ => _.Rollback(), Times.AtMostOnce());
            repos.Verify(_ => _.Commit(), Times.Once());
            simpleNoteRepo.Verify(_ => _.Evict(It.IsAny<SimpleNote>()), Times.Once());

            if (Directory.Exists(Directories.TargetPath))
            {
                Directory.Delete(Directories.TargetPath, true);
            }
        }
 private void RailcarNewEditXtraForm_FormClosed(object sender, FormClosedEventArgs e)
 {
     commandManager.Dispose();
     viewModel.Dispose();
     viewModel = null;
 }
        /// <summary>
        /// Execute when a ReleaseNote was saved
        /// </summary>
        /// <param name="operation">Operation result</param>
        private void ReleaseNoteSaveCompleted(SubmitOperation operation)
        {
            HandleSubmitOperation(operation, () =>
            {
                ReleaseNoteViewModel model = operation.UserState as ReleaseNoteViewModel;
                GlobalAccessor.Instance.MessageStatus = Strings.ReleaseNoteSavedStatusMessage;
                _documentcontext.Load(_documentcontext.GetDocumentsByCertificateIdQuery(Certificate.CertificateId), LoadBehavior.RefreshCurrent, LoadDocumentCompleted, null);

                // Updating Issued security papers
                _releaseNoteViewModel = model;
                _releaseNoteViewModel.IsBusy = true;
                _documentcontext.UpdateIssuedSecurityPapersOnReleaseNote(model.ReleaseNote.ReleaseNoteId, model.IssuedSecurityPapers, CompletedUpdateIssuedSecurityPapers, null);
                if (model.IsNewReleaseNote)
                    _context.SaveCertificateTrancking(Certificate.CertificateId, TrackingStatusEnum.Ongoing, null, null);

                RaiseOnSaveCompleted();
                model.IsBusy = false;
            });
        }
 /// <summary>
 /// Execute the click event of the button new
 /// </summary>
 private void ExecuteNewReleaseNoteCommand()
 {
     ReleaseNote newReleaseNote = new ReleaseNote { CertificateId = _certificate.CertificateId, Certificate = _certificate, IssuanceDate = DateTime.Now };
     ReleaseNoteViewModel model = new ReleaseNoteViewModel(newReleaseNote);
     model.SavedItem += OnReleaseNoteSaved;
     model.ReloadDocuments += ReleaseDocumentReloadDocuments;
     ReleaseNoteEditionRequested(this, new ContextEditionEventArgs<ReleaseNoteViewModel>(model));
 }
 /// <summary>
 /// Command to edit ReleaseNote
 /// </summary>
 /// <param name="item">ReleaseNote item parameter</param>
 private void EditReleaseNote(ReleaseNote item)
 {
     if (ReleaseNoteEditionRequested != null)
     {
         item.Certificate = _certificate;
         ReleaseNoteViewModel model = new ReleaseNoteViewModel(item);
         model.SavedItem += OnReleaseNoteSaved;
         model.ReloadDocuments += ReleaseDocumentReloadDocuments;
         ReleaseNoteEditionRequested(this, new ContextEditionEventArgs<ReleaseNoteViewModel>(model));
     }
 }
 private void CompletedUpdateIssuedSecurityPapers(InvokeOperation operation)
 {
     HandleInvokeOperation(operation, delegate
     {
         _releaseNoteViewModel.HasChanges = false;
         _releaseNoteViewModel.ChangesFromCheckableControl = false;
         _releaseNoteViewModel.SavePrintButtonsVisibilityRefresh();
         _releaseNoteViewModel.IsBusy = false;
         _releaseNoteViewModel = null;
     });
 }