public ClientTopUnitCreditCardEditableVM(
     CreditCardEditable creditCard,
     ClientTopUnit clientTopUnit,
     IEnumerable <SelectListItem> creditCardTypes,
     IEnumerable <SelectListItem> creditCardVendors
     )
 {
     CreditCard        = creditCard;
     ClientTopUnit     = clientTopUnit;
     CreditCardTypes   = creditCardTypes;
     CreditCardVendors = creditCardVendors;
 }
 public ClientSubUnitTravelerTypeCreditCardEditableVM(
     CreditCardEditable creditCard,
     TravelerType travelerType,
     ClientSubUnit clientSubUnit,
     IEnumerable <SelectListItem> creditCardTypes,
     IEnumerable <SelectListItem> creditCardVendors
     )
 {
     CreditCard        = creditCard;
     TravelerType      = travelerType;
     ClientSubUnit     = clientSubUnit;
     CreditCardTypes   = creditCardTypes;
     CreditCardVendors = creditCardVendors;
 }
Example #3
0
        //Edit CreditCard
        public void Edit(CreditCardEditable creditCard)
        {
            LogRepository logRepository   = new LogRepository();
            string        computerName    = logRepository.GetComputerName();
            string        maskedCVVNumber = creditCard.MaskedCVVNumber;
            string        adminUserGuid   = HttpContext.Current.User.Identity.Name.Split(new[] { '|' })[0];

            //Valid To Date Should Be End Of Month (Removed v19.0.1 for MNG Cards that expire mid month)
            //DateTime creditCardValidTo = new DateTime(creditCard.CreditCardValidTo.Year, creditCard.CreditCardValidTo.Month, 1).AddMonths(1).AddDays(-1);

            if (creditCard.MaskedCVVNumber == null && creditCard.CVV != null)
            {
                maskedCVVNumber = new string('*', creditCard.CVV.Length);
                using (ccdbDC creditCardDatabase = new ccdbDC(ConfigurationManager.ConnectionStrings["CreditCardDatabase"].ConnectionString))
                {
                    creditCardDatabase.spDesktopDataAdmin_UpdateCreditCardCVVNumber_v1(creditCard.CreditCardToken, creditCard.CVV);
                }
            }

            using (HierarchyDC desktopDatabase = new HierarchyDC(Settings.getConnectionString()))
            {
                desktopDatabase.spDesktopDataAdmin_UpdateCreditCard_v1(
                    creditCard.CreditCardId,
                    creditCard.CreditCardValidFrom,
                    creditCard.CreditCardValidTo,
                    creditCard.CreditCardIssueNumber,
                    creditCard.CreditCardHolderName,
                    creditCard.CreditCardTypeId,
                    creditCard.ProductId,
                    creditCard.SupplierCode,
                    maskedCVVNumber,
                    adminUserGuid,
                    creditCard.VersionNumber,
                    Settings.ApplicationName(),
                    Settings.ApplicationVersion(),
                    null,
                    computerName,
                    null,
                    null,
                    creditCard.ClientSubUnitGuid,
                    creditCard.TravelerTypeGuid,
                    null
                    );
            }
        }
Example #4
0
        //Edit CreditCard
        public void EditCWTCreditCard(CreditCardEditable creditCard, string OriginalCreditCardNumber)
        {
            LogRepository logRepository = new LogRepository();
            string        computerName  = logRepository.GetComputerName();

            //Valid To Date Should Be End Of Month
            DateTime creditCardValidTo = new DateTime(creditCard.CreditCardValidTo.Year, creditCard.CreditCardValidTo.Month, 1).AddMonths(1).AddDays(-1);

            string adminUserGuid = HttpContext.Current.User.Identity.Name.Split(new[] { '|' })[0];

            db.spDesktopDataAdmin_UpdateCWTCreditCard_v1(
                creditCard.CreditCardId,
                creditCard.CreditCardValidFrom,
                creditCardValidTo,
                creditCard.CreditCardIssueNumber,
                creditCard.CreditCardHolderName,
                creditCard.CreditCardVendorCode,
                creditCard.ClientTopUnitGuid,
                creditCard.CreditCardTypeId,
                creditCard.HierarchyType,
                creditCard.HierarchyCode,
                creditCard.TravelerTypeGuid,
                creditCard.ClientSubUnitGuid,
                creditCard.SourceSystemCode,
                adminUserGuid,
                creditCard.VersionNumber,
                Settings.ApplicationName(),
                Settings.ApplicationVersion(),
                null,
                computerName,
                null,
                null,
                12,
                null
                );
        }
Example #5
0
        public ActionResult Edit(int id, string can, string ssc, string csu, FormCollection collection)
        {
            //Check if changes are allowed to Cards for this Database
            CreditCardBehavior creditCardBehavior = new CreditCardBehavior();

            creditCardBehavior = creditCardRepository.GetCreditCardBehavior();
            if (!creditCardBehavior.CanChangeCreditCardsFlag)
            {
                ViewData["ActionMethod"] = "EditPost";
                return(View("Error"));
            }

            //Get Item From Database
            CreditCardEditable creditCard = new CreditCardEditable();

            creditCard = creditCardRepository.GetCreditCardEditable(id, false);

            //Check Exists
            if (creditCard == null)
            {
                ViewData["ActionMethod"] = "EditPost";
                return(View("RecordDoesNotExistError"));
            }

            ClientSubUnit clientSubUnit = new ClientSubUnit();

            clientSubUnit = clientSubUnitRepository.GetClientSubUnit(csu);

            //Check Exists
            if (clientSubUnit == null)
            {
                ViewData["ActionMethod"] = "EditPost";
                return(View("RecordDoesNotExistError"));
            }

            //Check Access
            RolesRepository rolesRepository = new RolesRepository();

            if (!rolesRepository.HasWriteAccessToClientAccountCreditCards(can, ssc))
            {
                ViewData["Message"] = "You do not have access to this item";
                return(View("Error"));
            }
            //Update Model From Form + Validate against DB
            try
            {
                UpdateModel(creditCard);
            }
            catch
            {
                string n = "";
                foreach (ModelState modelState in ViewData.ModelState.Values)
                {
                    foreach (ModelError error in modelState.Errors)
                    {
                        n += error.ErrorMessage;
                    }
                }
                ViewData["Message"] = "ValidationError : " + n;
                return(View("Error"));
            }


            //Database Update
            try
            {
                creditCard.ClientSubUnitGuid = csu;
                creditCard.VersionNumber     = Int32.Parse(collection["VersionNumber"]);
                creditCardRepository.Edit(creditCard);
            }
            catch (SqlException ex)
            {
                //Versioning Error
                if (ex.Message == "SQLVersioningError")
                {
                    ViewData["ReturnURL"] = "/CreditCardClientAccount.mvc/Edit?id=" + id + "&can=" + can + "&ssc=" + ssc;
                    return(View("VersionError"));
                }
                LogRepository logRepository = new LogRepository();
                logRepository.LogError(ex.Message);

                ViewData["Message"] = "There was a problem with your request, please see the log file or contact an administrator for details";
                return(View("Error"));
            }
            return(RedirectToAction("List", new { can = can, ssc = ssc, csu = csu }));
        }
Example #6
0
        public ActionResult Edit(TravelerTypeCreditCardEditableVM travelerTypeCreditCardVM, FormCollection collection)
        {
            //Check if changes are allowed to Cards for this Database
            CreditCardBehavior creditCardBehavior = new CreditCardBehavior();

            creditCardBehavior = creditCardRepository.GetCreditCardBehavior();
            if (!creditCardBehavior.CanChangeCreditCardsFlag)
            {
                ViewData["ActionMethod"] = "EditPost";
                return(View("Error"));
            }

            int creditCardId = travelerTypeCreditCardVM.CreditCard.CreditCardId;

            //Check Exists
            CreditCardTravelerType creditCardTravelerType = new CreditCardTravelerType();

            creditCardTravelerType = creditCardTravelerTypeRepository.GetCreditCardTravelerType(creditCardId);
            if (creditCardTravelerType == null)
            {
                ViewData["ActionMethod"] = "EditPost";
                return(View("RecordDoesNotExistError"));
            }

            string csu = travelerTypeCreditCardVM.ClientSubUnit.ClientSubUnitGuid;
            string tt  = travelerTypeCreditCardVM.TravelerType.TravelerTypeGuid;

            //Check Access
            RolesRepository rolesRepository = new RolesRepository();

            if (!rolesRepository.HasWriteAccessToClientSubUnitCreditCards(csu))
            {
                ViewData["Message"] = "You do not have access to this item";
                return(View("Error"));
            }

            //Get Item From Database
            CreditCardEditable creditCard = new CreditCardEditable();

            creditCard = creditCardRepository.GetCreditCardEditable(creditCardId, false);

            //Update Model From Form + Validate against DB
            try
            {
                UpdateModel <CreditCardEditable>(creditCard, "CreditCard");
            }
            catch
            {
                string n = "";
                foreach (ModelState modelState in ViewData.ModelState.Values)
                {
                    foreach (ModelError error in modelState.Errors)
                    {
                        n += error.ErrorMessage;
                    }
                }
                ViewData["Message"] = "ValidationError : " + n;
                return(View("Error"));
            }


            //Database Update
            try
            {
                creditCard.ClientSubUnitGuid = csu;
                creditCard.TravelerTypeGuid  = tt;
                creditCard.VersionNumber     = Int32.Parse(collection["CreditCard.VersionNumber"]);
                creditCardRepository.Edit(creditCard);
            }
            catch (SqlException ex)
            {
                //Versioning Error
                if (ex.Message == "SQLVersioningError")
                {
                    ViewData["ReturnURL"] = "/CreditCardTravelerType.mvc/Edit?id=" + creditCardId.ToString() + "&csu=" + csu;
                    return(View("VersionError"));
                }
                LogRepository logRepository = new LogRepository();
                logRepository.LogError(ex.Message);

                ViewData["Message"] = "There was a problem with your request, please see the log file or contact an administrator for details";
                return(View("Error"));
            }
            return(RedirectToAction("List", new { csu = csu, tt = tt }));
        }
Example #7
0
        //Add Data From Linked Tables for Display
        //type is optional to letus know if it is a TopUnit card, which has no links to other tables
        public void EditForDisplay(CreditCardEditable creditCard)
        {
            ClientTopUnitRepository clientTopUnitRepository = new ClientTopUnitRepository();
            ClientTopUnit           clientTopUnit           = new ClientTopUnit();

            clientTopUnit = clientTopUnitRepository.GetClientTopUnit(creditCard.ClientTopUnitGuid);
            if (clientTopUnit != null)
            {
                creditCard.ClientTopUnitName = clientTopUnit.ClientTopUnitName;
            }

            CreditCardVendorRepository creditCardVendorRepository = new CreditCardVendorRepository();
            CreditCardVendor           creditCardVendor           = new CreditCardVendor();

            creditCardVendor = creditCardVendorRepository.GetCreditCardVendor(creditCard.CreditCardVendorCode);
            if (creditCardVendor != null)
            {
                creditCard.CreditCardVendorName = creditCardVendor.CreditCardVendorName;
            }

            if (creditCard.CreditCardTypeId != null)
            {
                int creditCardTypeId = (int)creditCard.CreditCardTypeId;
                CreditCardTypeRepository creditCardTypeRepository = new CreditCardTypeRepository();
                CreditCardType           creditCardType           = new CreditCardType();
                creditCardType = creditCardTypeRepository.GetCreditCardType(creditCardTypeId);
                if (creditCardType != null)
                {
                    creditCard.CreditCardTypeDescription = creditCardType.CreditCardTypeDescription;
                }
            }

            //If Linked to ClientSubUnit
            CreditCardClientSubUnit           creditCardClientSubUnit           = new CreditCardClientSubUnit();
            CreditCardClientSubUnitRepository creditCardClientSubUnitRepository = new CreditCardClientSubUnitRepository();

            creditCardClientSubUnit = creditCardClientSubUnitRepository.GetCreditCardClientSubUnit(creditCard.CreditCardId);

            if (creditCardClientSubUnit != null)
            {
                ClientSubUnitRepository clientSubUnitRepository = new ClientSubUnitRepository();
                ClientSubUnit           clientSubUnit           = new ClientSubUnit();
                clientSubUnit = clientSubUnitRepository.GetClientSubUnit(creditCardClientSubUnit.ClientSubUnitGuid);
                if (clientSubUnit != null)
                {
                    creditCard.ClientSubUnitGuid = clientSubUnit.ClientSubUnitGuid;
                    creditCard.ClientSubUnitName = clientSubUnit.ClientSubUnitName;
                    creditCard.ClientTopUnitGuid = clientSubUnit.ClientTopUnit.ClientTopUnitGuid;
                    creditCard.ClientTopUnitName = clientSubUnit.ClientTopUnit.ClientTopUnitName;
                }
            }

            //If Linked to ClientAccount
            CreditCardClientAccount           creditCardClientAccount           = new CreditCardClientAccount();
            CreditCardClientAccountRepository creditCardClientAccountRepository = new CreditCardClientAccountRepository();

            creditCardClientAccount = creditCardClientAccountRepository.GetCreditCardClientAccount(creditCard.CreditCardId);

            if (creditCardClientAccount != null)
            {
                ClientAccountRepository clientAccountRepository = new ClientAccountRepository();
                ClientAccount           clientAccount           = new ClientAccount();
                clientAccount = clientAccountRepository.GetClientAccount(creditCardClientAccount.ClientAccountNumber, creditCardClientAccount.SourceSystemCode);
                if (clientAccount != null)
                {
                    creditCard.ClientAccountNumber = clientAccount.ClientAccountNumber;
                    creditCard.ClientAccountName   = clientAccount.ClientAccountName;
                    creditCard.SourceSystemCode    = clientAccount.SourceSystemCode;
                }
            }


            HierarchyRepository hierarchyRepository = new HierarchyRepository();

            fnDesktopDataAdmin_SelectCreditCardHierarchy_v1Result hierarchy = new fnDesktopDataAdmin_SelectCreditCardHierarchy_v1Result();

            hierarchy = GetGroupHierarchy(creditCard.CreditCardId);

            if (hierarchy == null)
            {
            }
            else
            {
                creditCard.HierarchyType = hierarchy.HierarchyType;
                creditCard.HierarchyCode = hierarchy.HierarchyCode.ToString();
                creditCard.HierarchyItem = hierarchy.HierarchyName.Trim();

                if (hierarchy.HierarchyType == "ClientSubUnitTravelerType")
                {
                    creditCard.ClientSubUnitGuid = hierarchy.HierarchyCode.ToString();
                    creditCard.ClientSubUnitName = hierarchy.HierarchyName.Trim();
                    creditCard.TravelerTypeGuid  = hierarchy.TravelerTypeGuid;
                    creditCard.TravelerTypeName  = hierarchy.TravelerTypeName.Trim();
                }
            }
        }
        public ActionResult Edit(int id, FormCollection collection)
        {
            //Check if changes are allowed to Cards for this Database
            CreditCardBehavior creditCardBehavior = new CreditCardBehavior();

            creditCardBehavior = creditCardRepository.GetCreditCardBehavior();
            if (!creditCardBehavior.CanChangeCreditCardsFlag)
            {
                ViewData["ActionMethod"] = "EditPost";
                return(View("Error"));
            }

            //Get Item From Database
            CreditCardEditable creditCard = new CreditCardEditable();

            creditCard = creditCardRepository.GetCreditCardEditable(id, false);

            //Check Exists
            if (creditCard == null)
            {
                ViewData["ActionMethod"] = "EditPost";
                return(View("RecordDoesNotExistError"));
            }
            //Check Access
            //RolesRepository rolesRepository = new RolesRepository();
            //if (!rolesRepository.HasWriteAccessToPolicyGroup(id))
            //{
            //   ViewData["Message"] = "You do not have access to this item";
            //   return View("Error");
            //}
            //Update Model From Form + Validate against DB
            try
            {
                UpdateModel(creditCard);
            }
            catch
            {
                string n = "";
                foreach (ModelState modelState in ViewData.ModelState.Values)
                {
                    foreach (ModelError error in modelState.Errors)
                    {
                        n += error.ErrorMessage;
                    }
                }
                ViewData["Message"] = "ValidationError : " + n;
                return(View("Error"));
            }

            //ClientSubUnitTravelerType has extra field
            string hierarchyCode = creditCard.HierarchyCode;

            if (creditCard.HierarchyType == "ClientSubUnitTravelerType")
            {
                creditCard.ClientSubUnitGuid = hierarchyCode;  //ClientSubUnitTravelerType has 2 primarykeys
            }
            //Check Access Rights
            HierarchyRepository hierarchyRepository = new HierarchyRepository();

            if (!hierarchyRepository.AdminHasDomainHierarchyWriteAccess(creditCard.HierarchyType, hierarchyCode, creditCard.SourceSystemCode, groupName))
            {
                ViewData["Message"] = "You cannot add to this hierarchy item";
                return(View("Error"));
            }


            //Database Update
            try
            {
                creditCard.VersionNumber = Int32.Parse(collection["VersionNumber"]);
                creditCardRepository.EditCWTCreditCard(creditCard, collection["OriginalCreditCardNumber"]);
            }
            catch (SqlException ex)
            {
                //Versioning Error
                if (ex.Message == "SQLVersioningError")
                {
                    ViewData["ReturnURL"] = "/CWTCreditCard.mvc/Edit/" + creditCard.CreditCardId.ToString();
                    return(View("VersionError"));
                }
                LogRepository logRepository = new LogRepository();
                logRepository.LogError(ex.Message);

                ViewData["Message"] = "There was a problem with your request, please see the log file or contact an administrator for details";
                return(View("Error"));
            }
            return(RedirectToAction("List"));
        }