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; } }
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; } }