public ActionResult PassportReIssue(PassportApplication P)
 {
     if (ModelState.IsValid)
     {
         ViewBag.UserID = Session["UserID"];
         slist          = DBOperations.getState();
         ViewBag.state  = slist;
         PassportApplication details = DBOperations.PassportReIssue(P);
         if (details != null)
         {
             ViewBag.data = details;
         }
         else
         {
             ViewBag.error = "Passport Number w.r.t UserId doesn't exists";
         }
         ModelState.Clear();
         return(View());
     }
     else
     {
         ViewBag.UserID = Session["UserID"];
         slist          = DBOperations.getState();
         ViewBag.state  = slist;
         return(View());
     }
 }
 public ActionResult ApplyPassport(PassportApplication P)
 {
     ModelState.Remove("ReasonForReIssue");
     ModelState.Remove("PassportNumber");
     if (ModelState.IsValid)
     {
         ViewBag.UserID = Session["UserID"];
         slist          = DBOperations.getState();
         ViewBag.state  = slist;
         PassportApplication details = DBOperations.ApplyPassport(P);
         if (details != null)
         {
             ViewBag.data = details;
         }
         else
         {
             ViewBag.error = "Passport Number w.r.t UserID already generated";
         }
         ModelState.Clear();
         return(View());
     }
     else
     {
         ViewBag.UserID = Session["UserID"];
         slist          = DBOperations.getState();
         ViewBag.state  = slist;
         return(View());
     }
 }
示例#3
0
        public void Constructor_Sets_Initial_Values()
        {
            this.mockContractState.Setup(s => s.Message.Sender).Returns(ApplicantAddress);

            var passportApplication = new PassportApplication(this.mockContractState.Object, AppId, ProviderAddress, RefNumber);

            this.mockPersistentState.Verify(s => s.SetString(nameof(PassportApplication.AppId), AppId));
            this.mockPersistentState.Verify(s => s.SetAddress(nameof(PassportApplication.Applicant), ApplicantAddress));
            this.mockPersistentState.Verify(s => s.SetAddress(nameof(PassportApplication.Provider), ProviderAddress));
            this.mockPersistentState.Verify(s => s.SetString(nameof(PassportApplication.ReferenceNumber), RefNumber));
            this.mockPersistentState.Verify(s => s.SetUInt32(nameof(PassportApplication.State), (uint)PassportApplication.StateType.MakeAppointment));
        }
示例#4
0
        public void Pay_Fails_WhenStateIsNotMakeAppointment(uint state)
        {
            // Setup correct applicant
            this.mockPersistentState.Setup(s => s.GetAddress(nameof(PassportApplication.Applicant))).Returns(ApplicantAddress);
            this.mockContractState.Setup(s => s.Message.Sender).Returns(ApplicantAddress);

            var contract = new PassportApplication(this.mockContractState.Object, AppId, ProviderAddress, RefNumber);

            // Setup wrong state.
            this.mockPersistentState.Setup(s => s.GetUInt32(nameof(PassportApplication.State))).Returns(state);

            // Attempt pay when state is not set to MakeAppointment should fail.
            Assert.Throws <SmartContractAssertException>(() => contract.Pay());
        }
示例#5
0
        public void Pay_Fails_WhenSenderIsNotApplicant()
        {
            // Setup incorrect sender.
            this.mockPersistentState.Setup(s => s.GetAddress(nameof(PassportApplication.Applicant))).Returns(ApplicantAddress);
            this.mockContractState.Setup(s => s.Message.Sender).Returns(Address.Zero);

            var contract = new PassportApplication(this.mockContractState.Object, AppId, ProviderAddress, RefNumber);

            // Setup set state.
            this.mockPersistentState.Setup(s => s.GetUInt32(nameof(PassportApplication.State))).Returns((uint)PassportApplication.StateType.MakeAppointment);

            // Attempt pay of wrong applicant should fail.
            Assert.Throws <SmartContractAssertException>(() => contract.Pay());
        }
示例#6
0
        public void RejectApplication_Fails_WhenStateIsNotPersonalAppearance(uint state)
        {
            // Setup incorrect sender.
            this.mockPersistentState.Setup(s => s.GetAddress(nameof(PassportApplication.Applicant))).Returns(ApplicantAddress);
            this.mockContractState.Setup(s => s.Message.Sender).Returns(ApplicantAddress);

            var contract = new PassportApplication(this.mockContractState.Object, AppId, ProviderAddress, RefNumber);

            // Setup set state.
            this.mockPersistentState.Setup(s => s.GetUInt32(nameof(PassportApplication.State))).Returns(state);

            // Attempt RejectApplication when state is not PersonalAppearance should fail.
            Assert.Throws <SmartContractAssertException>(() => contract.RejectApplication());
        }
示例#7
0
        public void ApproveApplication_Fails_WhenSenderIsNotProvider()
        {
            // Setup incorrect sender.
            this.mockPersistentState.Setup(s => s.GetAddress(nameof(PassportApplication.Provider))).Returns(ProviderAddress);
            this.mockContractState.Setup(s => s.Message.Sender).Returns(Address.Zero);

            var contract = new PassportApplication(this.mockContractState.Object, AppId, ProviderAddress, RefNumber);

            // Setup set state.
            this.mockPersistentState.Setup(s => s.GetUInt32(nameof(PassportApplication.State))).Returns((uint)PassportApplication.StateType.PersonalAppearance);

            // Attempt ApproveApplication when sender is not the provider should fail.
            Assert.Throws <SmartContractAssertException>(() => contract.ApproveApplication());
        }
示例#8
0
        public void RejectApplication_Succeeds_WhenSenderIsProviderAndStateIsPersonalAppearance()
        {
            // Setup incorrect sender.
            this.mockPersistentState.Setup(s => s.GetAddress(nameof(PassportApplication.Provider))).Returns(ProviderAddress);
            this.mockContractState.Setup(s => s.Message.Sender).Returns(ProviderAddress);

            var contract = new PassportApplication(this.mockContractState.Object, AppId, ProviderAddress, RefNumber);

            // Setup set state.
            this.mockPersistentState.Setup(s => s.GetUInt32(nameof(PassportApplication.State))).Returns((uint)PassportApplication.StateType.PersonalAppearance);

            // Attempt RejectApplication when sender is the provider and the state is PersonalAppearance should succeed.
            contract.RejectApplication();

            this.mockPersistentState.Verify(s => s.SetUInt32(nameof(PassportApplication.State), (uint)PassportApplication.StateType.RejectedApplication));
        }
示例#9
0
        public void CancelApplication_Succeeds_WhenStateIsMakeAppointment()
        {
            // Setup incorrect sender.
            this.mockPersistentState.Setup(s => s.GetAddress(nameof(PassportApplication.Applicant))).Returns(ApplicantAddress);
            this.mockContractState.Setup(s => s.Message.Sender).Returns(ApplicantAddress);

            var contract = new PassportApplication(this.mockContractState.Object, AppId, ProviderAddress, RefNumber);

            // Setup set state.
            this.mockPersistentState.Setup(s => s.GetUInt32(nameof(PassportApplication.State))).Returns((uint)PassportApplication.StateType.MakeAppointment);

            contract.CancelApplication();

            // Attempt CancelApplication when state is MakeAppointment should succeed.
            this.mockPersistentState.Verify(s => s.SetUInt32(nameof(PassportApplication.State), (uint)PassportApplication.StateType.CancelledApplication));
        }
示例#10
0
        public void Pay_Succeeds_WhenBalanceIsEnough()
        {
            // Setup incorrect sender.
            this.mockPersistentState.Setup(s => s.GetAddress(nameof(PassportApplication.Applicant))).Returns(ApplicantAddress);
            this.mockContractState.Setup(s => s.Message.Sender).Returns(ApplicantAddress);

            var contract = new PassportApplication(this.mockContractState.Object, AppId, ProviderAddress, RefNumber);

            // Setup set state.
            this.mockPersistentState.Setup(s => s.GetUInt32(nameof(PassportApplication.State))).Returns((uint)PassportApplication.StateType.MakeAppointment);

            // Setup sufficient balance
            this.mockPersistentState.Setup(s => s.GetUInt64(nameof(PassportApplication.Balance))).Returns(8000000000);

            contract.Pay();

            // Attempt pay of with sufficient balance should succeed.
            this.mockPersistentState.Verify(s => s.SetUInt32(nameof(PassportApplication.State), (uint)PassportApplication.StateType.PersonalAppearance));
        }