Beispiel #1
0
        public IHttpActionResult FirstCase(string computerName)
        {
            using (var dbContext = new DataContext())
            {
                var ticketCount          = 0;
                var rejectReasons        = new List <AdjudicateRepository.sRejectReasons>();
                var caseInfo             = new AdjudicateRepository.sCaseInfo();
                var remoteCaseInfo       = new AdjudicateRepository.sCaseInfo();
                var adjudicateRepository = new AdjudicateRepository(dbContext, SessionModel.CredentialID, SessionModel.UserName);

                if (!adjudicateRepository.caseFirst(ref rejectReasons, out ticketCount, out caseInfo, out remoteCaseInfo, computerName))
                {
                    return(this.BadRequestEx(Error.PopulateMethodFailed(adjudicateRepository.Error)));
                }

                return(Ok(
                           new FirstCaseModel
                {
                    Case = new CaseModel
                    {
                        TicketNo = caseInfo.mTicketNo,
                        Notification = caseInfo.mNotification,
                        VehicleRegNo = caseInfo.mVehicleRegNo,
                        VehicleRegNoConfirmed = caseInfo.mVehicleRegNoConfirmed,
                        VehicleMake = caseInfo.mVehicleMake,
                        VehicleModel = caseInfo.mVehicleModel,
                        VehicleColour = caseInfo.mVehicleColour,
                        VehicleType = caseInfo.mVehicleType,
                        VehicleLicenseExpire = caseInfo.mVehicleLicenseExpire,
                        OffenceSet = caseInfo.mOffenceSet,
                        OffenceDate = caseInfo.mOffenceDate,
                        OffenceSpeed = caseInfo.mOffenceSpeed,
                        OffenceZone = caseInfo.mOffenceZone,
                        OffenceDirectionLane = caseInfo.mOffenceDirectionLane,
                        OffenceCode = caseInfo.mOffenceCode,
                        OffenceNotes = caseInfo.mOffenceNotes,
                        OffenceAdditionalsXml = caseInfo.mOffenceAdditionalsXml,
                        Image1 = caseInfo.mImage1,
                        Image2 = caseInfo.mImage2,
                        ImageNP = caseInfo.mImageNP,
                        RemoteImage1 = remoteCaseInfo.mImage1,
                        RemoteImage2 = remoteCaseInfo.mImage2,
                        RemoteImageNP = remoteCaseInfo.mImageNP
                    },
                    TicketCount = ticketCount,
                    RejectReasons = rejectReasons.Select(f => new RejectReasonModel {
                        ID = f.mID, Description = f.mDescription
                    }).ToList()
                }));
            }
        }
Beispiel #2
0
        public IHttpActionResult FishpondCase(string ticketNumber, string computerName)
        {
            using (var dbContext = new DataContext())
            {
                var caseInfo       = new AdjudicateRepository.sCaseInfo();
                var remoteCaseInfo = new AdjudicateRepository.sCaseInfo();

                var adjudicateRepository = new AdjudicateRepository(dbContext, SessionModel.CredentialID, SessionModel.UserName);

                if (!adjudicateRepository.fishpondGetCase(ticketNumber, ref caseInfo, ref remoteCaseInfo, computerName))
                {
                    return(this.BadRequestEx(Error.PopulateMethodFailed(adjudicateRepository.Error)));
                }

                return(Ok(
                           new CaseModel
                {
                    TicketNo = caseInfo.mTicketNo,
                    Notification = caseInfo.mNotification,
                    VehicleRegNo = caseInfo.mVehicleRegNo,
                    VehicleRegNoConfirmed = caseInfo.mVehicleRegNoConfirmed,
                    VehicleMake = caseInfo.mVehicleMake,
                    VehicleModel = caseInfo.mVehicleModel,
                    VehicleColour = caseInfo.mVehicleColour,
                    VehicleType = caseInfo.mVehicleType,
                    VehicleLicenseExpire = caseInfo.mVehicleLicenseExpire,
                    OffenceSet = caseInfo.mOffenceSet,
                    OffenceDate = caseInfo.mOffenceDate,
                    OffenceSpeed = caseInfo.mOffenceSpeed,
                    OffenceZone = caseInfo.mOffenceZone,
                    OffenceDirectionLane = caseInfo.mOffenceDirectionLane,
                    OffenceCode = caseInfo.mOffenceCode,
                    OffenceNotes = caseInfo.mOffenceNotes,
                    OffenceAdditionalsXml = caseInfo.mOffenceAdditionalsXml,
                    Image1 = caseInfo.mImage1,
                    Image2 = caseInfo.mImage2,
                    ImageNP = caseInfo.mImageNP,
                    RemoteImage1 = remoteCaseInfo.mImage1,
                    RemoteImage2 = remoteCaseInfo.mImage2,
                    RemoteImageNP = remoteCaseInfo.mImageNP
                }));
            }
        }
Beispiel #3
0
        public IHttpActionResult AcceptFishpondCase([FromBody] CaseModel model, string computerName)
        {
            using (var dbContext = new DataContext())
            {
                var caseInfo = new AdjudicateRepository.sCaseInfo();
                caseInfo.mTicketNo = model.TicketNo;
                caseInfo.mOffenceAdditionalsXml = model.OffenceAdditionalsXml;
                caseInfo.mOffenceSet            = model.OffenceSet;
                caseInfo.mOffenceNotes          = model.OffenceNotes;

                var adjudicateRepository = new AdjudicateRepository(dbContext, SessionModel.CredentialID, SessionModel.UserName);

                if (!adjudicateRepository.fishpondCaseAccept(caseInfo, computerName))
                {
                    return(this.BadRequestEx(Error.PopulateMethodFailed(adjudicateRepository.Error)));
                }

                return(Ok());
            }
        }
Beispiel #4
0
        public IHttpActionResult AcceptCase([FromBody] CaseModel model, string computerName)
        {
            using (var dbContext = new DataContext())
            {
                var ticketCount = 0;
                var caseInfo    = new AdjudicateRepository.sCaseInfo();
                caseInfo.mTicketNo = model.TicketNo;
                caseInfo.mOffenceAdditionalsXml = model.OffenceAdditionalsXml;
                caseInfo.mOffenceSet            = model.OffenceSet;
                caseInfo.mOffenceNotes          = model.OffenceNotes;

                var remoteCaseInfo       = new AdjudicateRepository.sCaseInfo();
                var adjudicateRepository = new AdjudicateRepository(dbContext, SessionModel.CredentialID, SessionModel.UserName);
                if (!adjudicateRepository.caseAdjudicate(ref caseInfo, ref remoteCaseInfo, out ticketCount, computerName))
                {
                    return(this.BadRequestEx(Error.PopulateMethodFailed(adjudicateRepository.Error)));
                }

                var register = dbContext.Registers.SingleOrDefault(f => f.ReferenceNumber == caseInfo.mTicketNo);
                if (register == null)
                {
                    return(this.BadRequestEx(
                               Error.PopulateUnexpectedException(
                                   new Exception(string.Format("Case ({0}) not added to Registers table.", caseInfo.mTicketNo)))));
                }
                var referenceNumber = dbContext.GeneratedReferenceNumbers.SingleOrDefault(f => f.ReferenceNumber == caseInfo.mTicketNo);
                if (referenceNumber == null)
                {
                    return(this.BadRequestEx(
                               Error.PopulateUnexpectedException(
                                   new Exception(string.Format("Case ({0}) not added to GeneratedReferenceNumbers table.", caseInfo.mTicketNo)))));
                }

                var paymentProvider    = ProviderFactory.Get();
                var transactionIDModel =
                    paymentProvider.RegisterTransaction(
                        new ThirdParty.Payment.Models.TransactionModel
                {
                    CompanyRef         = referenceNumber.ReferenceNumber,
                    CompanyAccRef      = string.Empty,
                    Amount             = register.OutstandingAmount.HasValue ? register.OutstandingAmount.Value : 0,
                    UserID             = SessionModel.UserName,
                    ServiceDescription = "Reserved Payment Token",
                    ServiceType        = 6067
                });


                referenceNumber.ExternalToken     = transactionIDModel.TransactionToken;
                referenceNumber.ExternalReference = transactionIDModel.TransactionReference;

                dbContext.SaveChanges();

                return(Ok(
                           new FirstCaseModel
                {
                    Case = new CaseModel
                    {
                        TicketNo = caseInfo.mTicketNo,
                        Notification = caseInfo.mNotification,
                        VehicleRegNo = caseInfo.mVehicleRegNo,
                        VehicleRegNoConfirmed = caseInfo.mVehicleRegNoConfirmed,
                        VehicleMake = caseInfo.mVehicleMake,
                        VehicleModel = caseInfo.mVehicleModel,
                        VehicleColour = caseInfo.mVehicleColour,
                        VehicleType = caseInfo.mVehicleType,
                        VehicleLicenseExpire = caseInfo.mVehicleLicenseExpire,
                        OffenceSet = caseInfo.mOffenceSet,
                        OffenceDate = caseInfo.mOffenceDate,
                        OffenceSpeed = caseInfo.mOffenceSpeed,
                        OffenceZone = caseInfo.mOffenceZone,
                        OffenceDirectionLane = caseInfo.mOffenceDirectionLane,
                        OffenceCode = caseInfo.mOffenceCode,
                        OffenceNotes = caseInfo.mOffenceNotes,
                        OffenceAdditionalsXml = caseInfo.mOffenceAdditionalsXml,
                        Image1 = caseInfo.mImage1,
                        Image2 = caseInfo.mImage2,
                        ImageNP = caseInfo.mImageNP,
                        RemoteImage1 = remoteCaseInfo.mImage1,
                        RemoteImage2 = remoteCaseInfo.mImage2,
                        RemoteImageNP = remoteCaseInfo.mImageNP
                    },
                    TicketCount = ticketCount
                }));
            }
        }