Exemplo n.º 1
0
        public static bool SaveCardRequest(CardRequest cardRequest, string loggedInUsername, out CardRequest savedCardRequest)
        {
            try
            {
                using (var context = new KioskWebDBEntities())
                {
                    using (var transaction = context.Database.BeginTransaction())
                    {
                        context.CardRequests.Add(cardRequest);
                        context.SaveChanges();

                        KioskSolutionLibrary.ModelLibrary.EntityFrameworkLibrary.ThirdPartyData.User thirdPartyUser = ThirdPartyDL.RetrieveUserByUsername(loggedInUsername);

                        Customer cardRequestCustomer = RetrieveCustomerByID(cardRequest.CustomerID);

                        KioskSolutionLibrary.ModelLibrary.EntityFrameworkLibrary.ThirdPartyData.CardAccountRequest car = new ModelLibrary.EntityFrameworkLibrary.ThirdPartyData.CardAccountRequest();

                        car.NameOnCard = string.Format("{0} {1}", cardRequestCustomer.Lastname, cardRequestCustomer.Othernames);

                        if (cardRequest.RequestType == StatusUtil.RequestType.WithSerialNumber.ToString())
                        {
                            KioskSolutionLibrary.ModelLibrary.EntityFrameworkLibrary.ThirdPartyData.PANDetail panDetail = ThirdPartyDL.RetrievePanDetailByAccountNumber(cardRequest.SerialNumber);

                            car.PAN = panDetail.pan;

                            ThirdPartyDL.UpdatePan(panDetail.pan);
                        }

                        car.PrintStatus  = 1;
                        car.UserPrinting = thirdPartyUser.id.ToString();
                        car.DATE         = System.DateTime.Now;
                        if (cardRequest.RequestType == StatusUtil.RequestType.WithSerialNumber.ToString())
                        {
                            car.HolderIDNumber = cardRequest.SerialNumber;
                        }
                        car.PhoneNumber  = cardRequestCustomer.PhoneNumber;
                        car.LastName     = cardRequestCustomer.Lastname;
                        car.OtherName    = cardRequestCustomer.Othernames;
                        car.emailaddress = cardRequestCustomer.EmailAddress;
                        car.Updateddate  = System.DateTime.Now;
                        ThirdPartyDL.SaveCar(car);

                        cardRequest.Customer = cardRequestCustomer;

                        transaction.Commit();
                    }
                }
                cardRequest.Branch = BranchDL.RetrieveBranchByID(cardRequest.PickupBranchID);
                savedCardRequest   = cardRequest;
                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemplo n.º 2
0
        public static bool UpdateCardRequest(long cardRequestID, string clearPan, string loggedInUsername, out CardRequest cardRequest)
        {
            try
            {
                CardRequest existingRequest = new CardRequest();
                using (var context = new KioskWebDBEntities())
                {
                    existingRequest = context.CardRequests
                                      .Include(cr => cr.Customer)
                                      .Include(cr => cr.Branch)
                                      .Where(t => t.ID == cardRequestID)
                                      .FirstOrDefault();
                }

                if (existingRequest != null)
                {
                    if (existingRequest.RequestType == StatusUtil.RequestType.WithSerialNumber.ToString())
                    {
                        existingRequest.HashedPan    = PasswordHash.MD5Hash(clearPan);
                        existingRequest.EncryptedPan = Crypter.Encrypt(System.Configuration.ConfigurationManager.AppSettings.Get("ekey"), clearPan);
                    }
                    existingRequest.Status = StatusUtil.CardStatus.Approved.ToString();

                    using (var context = new KioskWebDBEntities())
                    {
                        using (var transaction = context.Database.BeginTransaction())
                        {
                            context.Entry(existingRequest).State = EntityState.Modified;
                            context.SaveChanges();

                            KioskSolutionLibrary.ModelLibrary.EntityFrameworkLibrary.ThirdPartyData.User thirdPartyUser = ThirdPartyDL.RetrieveUserByUsername(loggedInUsername);

                            KioskSolutionLibrary.ModelLibrary.EntityFrameworkLibrary.ThirdPartyData.CardAccountRequest car = new ModelLibrary.EntityFrameworkLibrary.ThirdPartyData.CardAccountRequest();

                            car.NameOnCard = string.Format("{0} {1}", existingRequest.Customer.Lastname, existingRequest.Customer.Othernames);
                            if (existingRequest.RequestType == StatusUtil.RequestType.WithSerialNumber.ToString())
                            {
                                car.PAN = clearPan;
                            }
                            car.PrintStatus  = 1;
                            car.UserPrinting = thirdPartyUser.id.ToString();
                            car.DATE         = System.DateTime.Now;
                            if (existingRequest.RequestType == StatusUtil.RequestType.WithSerialNumber.ToString())
                            {
                                car.HolderIDNumber = existingRequest.SerialNumber;
                            }
                            car.PhoneNumber  = existingRequest.Customer.PhoneNumber;
                            car.LastName     = existingRequest.Customer.Lastname;
                            car.OtherName    = existingRequest.Customer.Othernames;
                            car.emailaddress = existingRequest.Customer.EmailAddress;
                            car.Updateddate  = System.DateTime.Now;
                            ThirdPartyDL.SaveCar(car);

                            ThirdPartyDL.UpdatePan(clearPan);


                            transaction.Commit();
                        }
                    }
                    cardRequest = existingRequest;
                    return(true);
                }
                else
                {
                    cardRequest = null;
                    return(false);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }