Beispiel #1
0
        /* GET: /View
         * public ActionResult View(int id, string clientSubUnitId)
         * {
         *  //Check Exists
         *  ClientSubUnitClientAccount clientSubUnitClientAccount = new ClientSubUnitClientAccount();
         *  clientSubUnitClientAccount = clientSubUnitClientAccountRepository.GetClientSubUnitClientAccount(id, clientSubUnitId);
         *  if (clientSubUnitClientAccount == null)
         *  {
         *      ViewData["ActionMethod"] = "ViewGet";
         *      return View("RecordDoesNotExistError");
         *  }
         *
         *  clientSubUnitClientAccountRepository.EditForDisplay(clientSubUnitClientAccount);
         *  return View(clientSubUnitClientAccount);
         *
         * }
         */

        // GET: /Edit/
        public ActionResult Edit(string can, string ssc, string csu)
        {
            //Check Exists
            ClientSubUnitClientAccount clientSubUnitClientAccount = new ClientSubUnitClientAccount();

            clientSubUnitClientAccount = clientSubUnitClientAccountRepository.GetClientSubUnitClientAccount(can, ssc, csu);
            if (clientSubUnitClientAccount == null)
            {
                ViewData["ActionMethod"] = "EditGet";
                return(View("RecordDoesNotExistError"));
            }
            //Access Rights
            RolesRepository rolesRepository = new RolesRepository();

            if (!rolesRepository.HasWriteAccessToClientSubUnit(clientSubUnitClientAccount.ClientSubUnitGuid))
            {
                ViewData["Message"] = "You do not have access to this item";
                return(View("Error"));
            }
            if (!rolesRepository.HasWriteAccessToClientAccount(clientSubUnitClientAccount.ClientAccountNumber, clientSubUnitClientAccount.SourceSystemCode))
            {
                ViewData["Message"] = "You do not have access to this item";
                return(View("Error"));
            }

            //LineOfBusiness
            LineOfBusinessRepository lineOfBusinessRepository = new LineOfBusinessRepository();
            SelectList lineOfBusinessList = new SelectList(lineOfBusinessRepository.GetAllLineOfBusinesses().ToList(), "LineOfBusinessId", "LineOfBusinessDescription");

            ViewData["LineOfBusinessses"] = lineOfBusinessList;

            clientSubUnitClientAccountRepository.EditForDisplay(clientSubUnitClientAccount);
            return(View(clientSubUnitClientAccount));
        }
Beispiel #2
0
        public ActionResult Delete(string can, string ssc, string clientSubUnitId)
        {
            //Check Exists
            ClientSubUnitClientAccount clientSubUnitClientAccount = new ClientSubUnitClientAccount();

            clientSubUnitClientAccount = clientSubUnitClientAccountRepository.GetClientSubUnitClientAccount(can, ssc, clientSubUnitId);
            if (clientSubUnitClientAccount == null)
            {
                ViewData["ActionMethod"] = "DeleteGet";
                return(View("RecordDoesNotExistError"));
            }

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

            if (!rolesRepository.HasWriteAccessToClientSubUnit(clientSubUnitClientAccount.ClientSubUnitGuid))
            {
                ViewData["Message"] = "You do not have access to this item";
                return(View("Error"));
            }
            if (!rolesRepository.HasWriteAccessToClientAccount(clientSubUnitClientAccount.ClientAccountNumber, clientSubUnitClientAccount.SourceSystemCode))
            {
                ViewData["Message"] = "You do not have access to this item";
                return(View("Error"));
            }

            clientSubUnitClientAccountRepository.EditForDisplay(clientSubUnitClientAccount);
            return(View(clientSubUnitClientAccount));
        }
Beispiel #3
0
        // GET: /View/5
        public ActionResult View(string id, string csu, string can, string ssc)
        {
            //Check Exists
            ClientDefinedReferenceItem clientDefinedReferenceItem = new ClientDefinedReferenceItem();

            clientDefinedReferenceItem = clientDefinedReferenceItemRepository.GetClientDefinedReferenceItem(id);
            if (clientDefinedReferenceItem == null)
            {
                ViewData["ActionMethod"] = "ViewGet";
                return(View("RecordDoesNotExistError"));
            }

            clientDefinedReferenceItemRepository.EditForDisplay(clientDefinedReferenceItem);

            ClientDefinedReferenceItemVM clientDefinedReferenceItemVM = new ClientDefinedReferenceItemVM();

            //Check Exists (CDR CSU could be null)
            ClientSubUnit clientSubUnit = new ClientSubUnit();

            clientSubUnit = clientSubUnitRepository.GetClientSubUnit(csu);
            if (clientSubUnit != null)
            {
                clientDefinedReferenceItem.ClientSubUnitGuid = clientSubUnit.ClientSubUnitGuid;
                clientDefinedReferenceItemVM.ClientSubUnit   = clientSubUnit;
            }

            if (can != null && ssc != null)
            {
                ClientSubUnitClientAccount clientSubUnitClientAccount = new ClientSubUnitClientAccount();
                clientSubUnitClientAccount = clientSubUnitClientAccountRepository.GetClientSubUnitClientAccount(can, ssc, csu);
                if (clientSubUnitClientAccount != null)
                {
                    ViewData["ClientSubUnitClientAccountClientAccountName"] = clientSubUnitClientAccount.ClientAccount.ClientAccountName;
                }

                clientDefinedReferenceItem.ClientAccountNumber = clientDefinedReferenceItem.ClientAccountNumber;
                clientDefinedReferenceItem.SourceSystemCode    = clientDefinedReferenceItem.SourceSystemCode;
            }

            clientDefinedReferenceItemVM.ClientDefinedReferenceItem = clientDefinedReferenceItem;

            if (can != null && ssc != null)
            {
                ClientAccount           clientAccount           = new ClientAccount();
                ClientAccountRepository clientAccountRepository = new ClientAccountRepository();
                clientAccount = clientAccountRepository.GetClientAccount(can, ssc);
                if (clientAccount != null)
                {
                    ViewData["ClientAccountName"] = clientAccount.ClientAccountName;
                }

                ViewData["ClientAccountNumber"] = can;
                ViewData["SourceSystemCode"]    = ssc;
            }

            return(View(clientDefinedReferenceItemVM));
        }
 public ClientDefinedReferenceItemValueVM(
     ClientDefinedReferenceItemValue clientDefinedReferenceItemValue,
     ClientDefinedReferenceItem clientDefinedReferenceItem,
     ClientSubUnit clientSubUnit,
     ClientSubUnitClientAccount clientSubUnitClientAccount)
 {
     ClientDefinedReferenceItemValue = clientDefinedReferenceItemValue;
     ClientDefinedReferenceItem      = clientDefinedReferenceItem;
     ClientSubUnit = clientSubUnit;
     ClientSubUnitClientAccount = clientSubUnitClientAccount;
 }
Beispiel #5
0
        // GET: /Create
        public ActionResult Create(string id, string can, string ssc)
        {
            ClientSubUnit clientSubUnit = new ClientSubUnit();

            clientSubUnit = clientSubUnitRepository.GetClientSubUnit(id);

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

            //Check Access Rights to Domain
            if (!hierarchyRepository.AdminHasDomainWriteAccess(groupName))
            {
                ViewData["Message"] = "You do not have access to this item";
                return(View("Error"));
            }

            ClientDefinedReferenceItemVM clientDefinedReferenceItemVM = new ClientDefinedReferenceItemVM();
            ClientDefinedReferenceItem   clientDefinedReferenceItem   = new ClientDefinedReferenceItem();

            clientDefinedReferenceItemRepository.EditForDisplay(clientDefinedReferenceItem);

            if (can != null && ssc != null)
            {
                ClientSubUnitClientAccount clientSubUnitClientAccount = new ClientSubUnitClientAccount();
                clientSubUnitClientAccount = clientSubUnitClientAccountRepository.GetClientSubUnitClientAccount(can, ssc, clientSubUnit.ClientSubUnitGuid);
                if (clientSubUnitClientAccount != null)
                {
                    ViewData["ClientSubUnitClientAccountClientAccountName"] = clientSubUnitClientAccount.ClientAccount.ClientAccountName;
                }

                clientDefinedReferenceItem.ClientAccountNumber = can;
                clientDefinedReferenceItem.SourceSystemCode    = ssc;
            }

            //Products
            ProductRepository productRepository = new ProductRepository();

            clientDefinedReferenceItemVM.Products = new SelectList(productRepository.GetAllProducts().ToList(), "ProductId", "ProductName");

            //Contexts
            ContextRepository contextRepository = new ContextRepository();

            clientDefinedReferenceItemVM.Contexts = new SelectList(contextRepository.GetAllContexts().ToList(), "ContextId", "ContextName");

            clientDefinedReferenceItem.ClientSubUnitGuid            = clientSubUnit.ClientSubUnitGuid;
            clientDefinedReferenceItemVM.ClientDefinedReferenceItem = clientDefinedReferenceItem;
            clientDefinedReferenceItemVM.ClientSubUnit = clientSubUnit;

            return(View(clientDefinedReferenceItemVM));
        }
Beispiel #6
0
        //Delete Item
        public void Delete(ClientSubUnitClientAccount clientSubUnitClientAccount)
        {
            string adminUserGuid = HttpContext.Current.User.Identity.Name.Split(new[] { '|' })[0];

            db.spDesktopDataAdmin_DeleteClientSubUnitClientAccount_v1(
                clientSubUnitClientAccount.ClientSubUnitGuid,
                clientSubUnitClientAccount.SourceSystemCode,
                clientSubUnitClientAccount.ClientAccountNumber,
                adminUserGuid,
                clientSubUnitClientAccount.VersionNumber
                );
        }
Beispiel #7
0
        //Add Item
        public void Add(ClientSubUnitClientAccount clientSubUnitClientAccount)
        {
            string adminUserGuid = HttpContext.Current.User.Identity.Name.Split(new[] { '|' })[0];

            db.spDesktopDataAdmin_InsertClientSubUnitClientAccount_v1(
                clientSubUnitClientAccount.ClientSubUnitGuid,
                clientSubUnitClientAccount.SourceSystemCode,
                clientSubUnitClientAccount.ClientAccountNumber,
                clientSubUnitClientAccount.ConfidenceLevelForLoadId,
                clientSubUnitClientAccount.DefaultFlag,
                adminUserGuid
                );
        }
Beispiel #8
0
        //Update item
        public void Update(ClientSubUnitClientAccount clientSubUnitClientAccount)
        {
            string adminUserGuid = HttpContext.Current.User.Identity.Name.Split(new[] { '|' })[0];

            db.spDesktopDataAdmin_UpdateClientSubUnitClientAccount_v1(
                clientSubUnitClientAccount.ClientSubUnitGuid,
                clientSubUnitClientAccount.SourceSystemCode,
                clientSubUnitClientAccount.ClientAccountNumber,
                clientSubUnitClientAccount.ClientAccountLineOfBusinessId,
                clientSubUnitClientAccount.DefaultFlag,
                adminUserGuid,
                clientSubUnitClientAccount.VersionNumber
                );
        }
Beispiel #9
0
        public ActionResult Delete(string can, string ssc, string clientSubUnitId, FormCollection collection)
        {
            //Check Exists
            ClientSubUnitClientAccount clientSubUnitClientAccount = new ClientSubUnitClientAccount();

            clientSubUnitClientAccount = clientSubUnitClientAccountRepository.GetClientSubUnitClientAccount(can, ssc, clientSubUnitId);
            if (clientSubUnitClientAccount == null)
            {
                ViewData["ActionMethod"] = "DeletePost";
                return(View("RecordDoesNotExistError"));
            }

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

            if (!rolesRepository.HasWriteAccessToClientSubUnit(clientSubUnitClientAccount.ClientSubUnitGuid))
            {
                ViewData["Message"] = "You do not have access to this item";
                return(View("Error"));
            }
            if (!rolesRepository.HasWriteAccessToClientAccount(clientSubUnitClientAccount.ClientAccountNumber, clientSubUnitClientAccount.SourceSystemCode))
            {
                ViewData["Message"] = "You do not have access to this item";
                return(View("Error"));
            }

            //Delete Item
            try
            {
                clientSubUnitClientAccount.VersionNumber = Int32.Parse(collection["VersionNumber"]);
                clientSubUnitClientAccountRepository.Delete(clientSubUnitClientAccount);
            }
            catch (SqlException ex)
            {
                //Versioning Error - go to standard versionError page
                if (ex.Message == "SQLVersioningError")
                {
                    ViewData["ReturnURL"] = "/ClientSubUnitClientAccount.mvc/Delete?id=" + clientSubUnitClientAccount.ClientAccountNumber.ToString() + "&ssc=" + clientSubUnitClientAccount.SourceSystemCode + "&clientSubUnitGuid=" + clientSubUnitClientAccount.ClientSubUnitGuid;
                    return(View("VersionError"));
                }
                //Generic Error
                ViewData["Message"] = "There was a problem with your request, please see the log file or contact an administrator for details";
                return(View("Error"));
            }

            //Return
            return(RedirectToAction("ListBySubUnit", new { id = clientSubUnitClientAccount.ClientSubUnitGuid }));
        }
Beispiel #10
0
        //Add Data From Linked Tables for Display
        public void EditForDisplay(ClientSubUnitClientAccount clientSubUnitClientAccount)
        {
            ClientAccountRepository clientAccountRepository = new ClientAccountRepository();
            ClientAccount           clientAccount           = new ClientAccount();

            clientAccount = clientAccountRepository.GetClientAccount(clientSubUnitClientAccount.ClientAccountNumber, clientSubUnitClientAccount.SourceSystemCode);
            if (clientAccount != null)
            {
                clientSubUnitClientAccount.ClientAccountName = clientAccount.ClientAccountName;
            }

            ClientSubUnitRepository clientSubUnitRepository = new ClientSubUnitRepository();
            ClientSubUnit           clientSubUnit           = new ClientSubUnit();

            clientSubUnit = clientSubUnitRepository.GetClientSubUnit(clientSubUnitClientAccount.ClientSubUnitGuid);
            if (clientSubUnit != null)
            {
                clientSubUnitClientAccount.ClientSubUnitName = clientSubUnit.ClientSubUnitName;
            }

            ConfidenceLevelForLoadRepository confidenceLevelForLoadRepository = new ConfidenceLevelForLoadRepository();
            ConfidenceLevelForLoad           confidenceLevelForLoad           = new ConfidenceLevelForLoad();

            if (clientSubUnitClientAccount.ConfidenceLevelForLoadId != null)
            {
                int confidenceLevelForLoadId = (int)clientSubUnitClientAccount.ConfidenceLevelForLoadId;
                confidenceLevelForLoad = confidenceLevelForLoadRepository.GetConfidenceLevelForLoad(confidenceLevelForLoadId);
                if (confidenceLevelForLoad != null)
                {
                    clientSubUnitClientAccount.ConfidenceLevelForLoadDescription = confidenceLevelForLoad.ConfidenceLevelForLoadDescription;
                }
            }

            LineOfBusinessRepository lineOfBusinessRepository = new LineOfBusinessRepository();
            LineOfBusiness           lineOfBusiness           = new LineOfBusiness();

            if (clientSubUnitClientAccount.ClientAccountLineOfBusinessId != null)
            {
                int lineOfBusinessId = (int)clientSubUnitClientAccount.ClientAccountLineOfBusinessId;
                lineOfBusiness = lineOfBusinessRepository.GetLineOfBusiness(lineOfBusinessId);
                if (lineOfBusiness != null)
                {
                    clientSubUnitClientAccount.LineOfBusiness = lineOfBusiness;
                }
            }
        }
Beispiel #11
0
        public ActionResult Delete(int id, string csu, string can, string ssc)
        {
            ClientSubUnit clientSubUnit = new ClientSubUnit();

            clientSubUnit = clientSubUnitRepository.GetClientSubUnit(csu);

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

            //Check Access Rights to Domain
            if (!hierarchyRepository.AdminHasDomainWriteAccess(groupName))
            {
                ViewData["Message"] = "You do not have access to this item";
                return(View("Error"));
            }

            ClientDefinedReferenceItemPNROutputVM clientDefinedReferenceItemPNROutputVM = new ClientDefinedReferenceItemPNROutputVM();

            ClientDefinedReferenceItemPNROutput clientDefinedReferenceItemPNROutput = new ClientDefinedReferenceItemPNROutput();

            clientDefinedReferenceItemPNROutput = clientDefinedReferenceItemPNROutputRepository.GetClientDefinedReferenceItemPNROutput(id);

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

            ClientDefinedReferenceItem clientDefinedReferenceItem = new ClientDefinedReferenceItem();

            clientDefinedReferenceItem = clientDefinedReferenceItemRepository.GetClientDefinedReferenceItem(clientDefinedReferenceItemPNROutput.ClientDefinedReferenceItemId);

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

            ViewData["DsplayName"] = !string.IsNullOrEmpty(clientDefinedReferenceItem.DisplayNameAlias) ? clientDefinedReferenceItem.DisplayNameAlias : clientDefinedReferenceItem.DisplayName;

            if (can != null && ssc != null)
            {
                ClientSubUnitClientAccount clientSubUnitClientAccount = new ClientSubUnitClientAccount();
                clientSubUnitClientAccount = clientSubUnitClientAccountRepository.GetClientSubUnitClientAccount(can, ssc, clientSubUnit.ClientSubUnitGuid);
                if (clientSubUnitClientAccount != null)
                {
                    ViewData["ClientSubUnitClientAccountClientAccountName"] = clientSubUnitClientAccount.ClientAccount.ClientAccountName;
                }

                clientDefinedReferenceItem.ClientAccountNumber = can;
                clientDefinedReferenceItem.SourceSystemCode    = ssc;
                ViewData["ClientDefinedReferenceItemId"]       = clientDefinedReferenceItem.ClientDefinedReferenceItemId;
                ViewData["ClientAccountNumber"] = can;
                ViewData["SourceSystemCode"]    = ssc;
            }

            clientDefinedReferenceItemPNROutputVM.ClientDefinedReferenceItemPNROutput = clientDefinedReferenceItemPNROutput;
            clientDefinedReferenceItemPNROutputVM.ClientSubUnit = clientSubUnit;
            clientDefinedReferenceItem.ClientSubUnitGuid        = clientSubUnit.ClientSubUnitGuid;
            clientDefinedReferenceItemPNROutputVM.ClientSubUnit = clientSubUnit;

            clientDefinedReferenceItemPNROutput.ClientDefinedReferenceItem   = clientDefinedReferenceItem;
            clientDefinedReferenceItemPNROutput.ClientDefinedReferenceItemId = clientDefinedReferenceItem.ClientDefinedReferenceItemId;

            return(View(clientDefinedReferenceItemPNROutputVM));
        }
Beispiel #12
0
        // GET: /Edit
        public ActionResult Edit(int id, string csu, string can, string ssc)
        {
            ClientDefinedReferenceItemPNROutputVM clientDefinedReferenceItemPNROutputVM = new ClientDefinedReferenceItemPNROutputVM();

            ClientDefinedReferenceItemPNROutput clientDefinedReferenceItemPNROutput = new ClientDefinedReferenceItemPNROutput();

            clientDefinedReferenceItemPNROutput = clientDefinedReferenceItemPNROutputRepository.GetClientDefinedReferenceItemPNROutput(id);
            if (clientDefinedReferenceItemPNROutput == null)
            {
                ViewData["ActionMethod"] = "ViewGet";
                return(View("RecordDoesNotExistError"));
            }

            clientDefinedReferenceItemPNROutputVM.ClientDefinedReferenceItemPNROutput = clientDefinedReferenceItemPNROutput;

            //Check Exists
            ClientDefinedReferenceItem clientDefinedReferenceItem = new ClientDefinedReferenceItem();

            clientDefinedReferenceItem = clientDefinedReferenceItemRepository.GetClientDefinedReferenceItem(clientDefinedReferenceItemPNROutput.ClientDefinedReferenceItemId);
            if (clientDefinedReferenceItem == null)
            {
                ViewData["ActionMethod"] = "ViewGet";
                return(View("RecordDoesNotExistError"));
            }

            ViewData["DsplayName"] = !string.IsNullOrEmpty(clientDefinedReferenceItem.DisplayNameAlias) ? clientDefinedReferenceItem.DisplayNameAlias : clientDefinedReferenceItem.DisplayName;

            //Check Exists CSU for VM
            ClientSubUnit clientSubUnit = new ClientSubUnit();

            clientSubUnit = clientSubUnitRepository.GetClientSubUnit(csu);
            if (clientSubUnit != null)
            {
                clientSubUnitRepository.EditGroupForDisplay(clientSubUnit);
                clientDefinedReferenceItemPNROutputVM.ClientSubUnit = clientSubUnit;
            }

            // Check Exists CDR CSU (can be null)
            ClientSubUnit clientSubUnitCDR = new ClientSubUnit();

            if (clientDefinedReferenceItem.ClientSubUnitGuid != null)
            {
                clientSubUnitCDR = clientSubUnitRepository.GetClientSubUnit(clientDefinedReferenceItem.ClientSubUnitGuid);
                if (clientSubUnit != null)
                {
                    clientSubUnitRepository.EditGroupForDisplay(clientSubUnitCDR);
                    clientDefinedReferenceItem.ClientSubUnitGuid = clientSubUnitCDR.ClientSubUnitGuid;
                }
            }

            if (can != null && ssc != null)
            {
                ClientSubUnitClientAccount clientSubUnitClientAccount = new ClientSubUnitClientAccount();
                clientSubUnitClientAccount = clientSubUnitClientAccountRepository.GetClientSubUnitClientAccount(can, ssc, csu);
                if (clientSubUnitClientAccount != null)
                {
                    ViewData["ClientSubUnitClientAccountClientAccountName"] = clientSubUnitClientAccount.ClientAccount.ClientAccountName;
                }

                clientDefinedReferenceItem.ClientAccountNumber = clientDefinedReferenceItem.ClientAccountNumber;
                clientDefinedReferenceItem.SourceSystemCode    = clientDefinedReferenceItem.SourceSystemCode;
            }

            if (can != null && ssc != null)
            {
                ClientAccount           clientAccount           = new ClientAccount();
                ClientAccountRepository clientAccountRepository = new ClientAccountRepository();
                clientAccount = clientAccountRepository.GetClientAccount(can, ssc);
                if (clientAccount != null)
                {
                    ViewData["ClientAccountName"] = clientAccount.ClientAccountName;
                }

                clientDefinedReferenceItem.ClientAccountNumber = can;
                clientDefinedReferenceItem.SourceSystemCode    = ssc;
                ViewData["ClientDefinedReferenceItemId"]       = clientDefinedReferenceItem.ClientDefinedReferenceItemId;
                ViewData["ClientAccountNumber"] = can;
                ViewData["SourceSystemCode"]    = ssc;
            }

            //ClientDefinedReferenceItem
            clientDefinedReferenceItemPNROutput.ClientDefinedReferenceItem   = clientDefinedReferenceItem;
            clientDefinedReferenceItemPNROutput.ClientDefinedReferenceItemId = clientDefinedReferenceItem.ClientDefinedReferenceItemId;

            //GDS
            GDSRepository GDSRepository = new GDSRepository();

            clientDefinedReferenceItemPNROutputVM.GDSList = new SelectList(GDSRepository.GetAllGDSsExceptALL().OrderBy(x => x.GDSName).ToList(), "GDSCode", "GDSName");

            //PNR Output Remark Types
            PNROutputRemarkTypeRepository PNROutputRemarkTypeRepository = new PNROutputRemarkTypeRepository();

            clientDefinedReferenceItemPNROutputVM.PNROutputRemarkTypeCodes = new SelectList(PNROutputRemarkTypeRepository.GetPNROutputRemarkTypes(), "PNROutputRemarkTypeCode", "PNROutputRemarkTypeName");

            //Languages
            LanguageRepository languageRepository = new LanguageRepository();

            clientDefinedReferenceItemPNROutputVM.Languages = new SelectList(languageRepository.GetAllLanguages().ToList(), "LanguageCode", "LanguageName");

            return(View(clientDefinedReferenceItemPNROutputVM));
        }
Beispiel #13
0
        // GET: /Create
        public ActionResult Create(string id, string csu, string can, string ssc)
        {
            ClientSubUnit clientSubUnit = new ClientSubUnit();

            clientSubUnit = clientSubUnitRepository.GetClientSubUnit(csu);

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

            //Check Access Rights to Domain
            if (!hierarchyRepository.AdminHasDomainWriteAccess(groupName))
            {
                ViewData["Message"] = "You do not have access to this item";
                return(View("Error"));
            }

            ClientDefinedReferenceItemPNROutputVM clientDefinedReferenceItemPNROutputVM = new ClientDefinedReferenceItemPNROutputVM();

            ClientDefinedReferenceItem clientDefinedReferenceItem = new ClientDefinedReferenceItem();

            clientDefinedReferenceItem = clientDefinedReferenceItemRepository.GetClientDefinedReferenceItem(id);

            ClientDefinedReferenceItemPNROutput clientDefinedReferenceItemPNROutput = new ClientDefinedReferenceItemPNROutput();

            //ClientDefinedReferenceItem
            if (clientDefinedReferenceItem == null)
            {
                ViewData["ActionMethod"] = "CreateGet";
                return(View("RecordDoesNotExistError"));
            }

            clientDefinedReferenceItem.ClientSubUnitGuid = clientSubUnit.ClientSubUnitGuid;
            clientDefinedReferenceItemPNROutput.ClientDefinedReferenceItem   = clientDefinedReferenceItem;
            clientDefinedReferenceItemPNROutput.ClientDefinedReferenceItemId = clientDefinedReferenceItem.ClientDefinedReferenceItemId;

            clientDefinedReferenceItemPNROutputVM.ClientDefinedReferenceItemPNROutput = clientDefinedReferenceItemPNROutput;

            ViewData["DsplayName"] = !string.IsNullOrEmpty(clientDefinedReferenceItem.DisplayNameAlias) ? clientDefinedReferenceItem.DisplayNameAlias : clientDefinedReferenceItem.DisplayName;

            if (can != null && ssc != null)
            {
                ClientSubUnitClientAccount clientSubUnitClientAccount = new ClientSubUnitClientAccount();
                clientSubUnitClientAccount = clientSubUnitClientAccountRepository.GetClientSubUnitClientAccount(can, ssc, clientSubUnit.ClientSubUnitGuid);
                if (clientSubUnitClientAccount != null)
                {
                    ViewData["ClientSubUnitClientAccountClientAccountName"] = clientSubUnitClientAccount.ClientAccount.ClientAccountName;
                }

                clientDefinedReferenceItem.ClientAccountNumber = can;
                clientDefinedReferenceItem.SourceSystemCode    = ssc;
                ViewData["ClientDefinedReferenceItemId"]       = clientDefinedReferenceItem.ClientDefinedReferenceItemId;
                ViewData["ClientAccountNumber"] = can;
                ViewData["SourceSystemCode"]    = ssc;
            }

            //ClientSubUnit
            clientDefinedReferenceItemPNROutputVM.ClientSubUnit = clientSubUnit;

            //GDS
            GDSRepository GDSRepository = new GDSRepository();

            clientDefinedReferenceItemPNROutputVM.GDSList = new SelectList(GDSRepository.GetAllGDSsExceptALL().OrderBy(x => x.GDSName).ToList(), "GDSCode", "GDSName");

            //PNR Output Remark Types
            PNROutputRemarkTypeRepository PNROutputRemarkTypeRepository = new PNROutputRemarkTypeRepository();

            clientDefinedReferenceItemPNROutputVM.PNROutputRemarkTypeCodes = new SelectList(PNROutputRemarkTypeRepository.GetPNROutputRemarkTypes(), "PNROutputRemarkTypeCode", "PNROutputRemarkTypeName", "");

            //Languages
            LanguageRepository languageRepository = new LanguageRepository();

            clientDefinedReferenceItemPNROutputVM.Languages = new SelectList(languageRepository.GetAllLanguages().ToList(), "LanguageCode", "LanguageName");

            return(View(clientDefinedReferenceItemPNROutputVM));
        }
Beispiel #14
0
        public ActionResult Create(ClientSubUnitClientAccount clientSubUnitClientAccount)
        {
            //Check Exists
            ClientSubUnit clientSubUnit = new ClientSubUnit();

            clientSubUnit = clientSubUnitRepository.GetClientSubUnit(clientSubUnitClientAccount.ClientSubUnitGuid);
            if (clientSubUnit == null)
            {
                ViewData["ActionMethod"] = "EditGet";
                return(View("RecordDoesNotExistError"));
            }

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

            if (!rolesRepository.HasWriteAccessToClientSubUnit(clientSubUnitClientAccount.ClientSubUnitGuid))
            {
                ViewData["Message"] = "You do not have access to this item";
                return(View("Error"));
            }
            if (!rolesRepository.HasWriteAccessToClientAccount(clientSubUnitClientAccount.ClientAccountNumber, clientSubUnitClientAccount.SourceSystemCode))
            {
                ViewData["Message"] = "You do not have access to this item";
                return(View("Error"));
            }


            //Update  Model from Form
            try
            {
                UpdateModel(clientSubUnitClientAccount);
            }
            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
            {
                clientSubUnitClientAccountRepository.Add(clientSubUnitClientAccount);
            }
            catch
            {
                //Validation Errors on Table
                ViewData["Message"] = "Validation Error";
                return(View("Error"));
            }


            return(RedirectToAction("ListBySubUnit", new { id = clientSubUnitClientAccount.ClientSubUnitGuid }));
        }
Beispiel #15
0
        public ActionResult Delete(string id, string csu, string can, string ssc)
        {
            //Check Exists
            ClientDefinedReferenceItemValue clientDefinedReferenceItemValue = new ClientDefinedReferenceItemValue();

            clientDefinedReferenceItemValue = clientDefinedReferenceItemValueRepository.GetClientDefinedReferenceItemValue(id);
            if (clientDefinedReferenceItemValue == null)
            {
                ViewData["ActionMethod"] = "EditGet";
                return(View("RecordDoesNotExistError"));
            }

            //Check Exists
            ClientDefinedReferenceItem clientDefinedReferenceItem = new ClientDefinedReferenceItem();

            clientDefinedReferenceItem = clientDefinedReferenceItemRepository.GetClientDefinedReferenceItem(clientDefinedReferenceItemValue.ClientDefinedReferenceItemId);
            if (clientDefinedReferenceItem == null)
            {
                ViewData["ActionMethod"] = "EditGet";
                return(View("RecordDoesNotExistError"));
            }

            ClientSubUnit clientSubUnit = new ClientSubUnit();

            clientSubUnit = clientSubUnitRepository.GetClientSubUnit(csu);

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

            //Check Access Rights to Domain
            if (!hierarchyRepository.AdminHasDomainWriteAccess(groupName))
            {
                ViewData["Message"] = "You do not have access to this item";
                return(View("Error"));
            }

            ClientDefinedReferenceItemValueVM clientDefinedReferenceItemValueVM = new ClientDefinedReferenceItemValueVM();

            clientDefinedReferenceItemValueVM.ClientDefinedReferenceItemValue = clientDefinedReferenceItemValue;

            ClientSubUnitClientAccount clientSubUnitClientAccount = new ClientSubUnitClientAccount();

            clientSubUnitClientAccount = clientSubUnitClientAccountRepository.GetClientSubUnitClientAccount(clientDefinedReferenceItem.ClientAccountNumber, clientDefinedReferenceItem.SourceSystemCode, clientSubUnit.ClientSubUnitGuid);
            if (clientSubUnitClientAccount != null)
            {
                clientDefinedReferenceItemValueVM.ClientSubUnitClientAccount = clientSubUnitClientAccount;
                ViewData["ClientSubUnitClientAccountClientAccountName"]      = clientSubUnitClientAccount.ClientAccount.ClientAccountName;
            }

            clientDefinedReferenceItemValueVM.ClientDefinedReferenceItem = clientDefinedReferenceItem;
            clientDefinedReferenceItemValueVM.ClientSubUnit = clientSubUnit;
            clientDefinedReferenceItemValueVM.ClientDefinedReferenceItemValue = clientDefinedReferenceItemValue;

            if (can != null && ssc != null)
            {
                ClientAccount           clientAccount           = new ClientAccount();
                ClientAccountRepository clientAccountRepository = new ClientAccountRepository();
                clientAccount = clientAccountRepository.GetClientAccount(can, ssc);
                if (clientAccount != null)
                {
                    ViewData["ClientAccountName"]   = clientAccount.ClientAccountName;
                    ViewData["ClientAccountNumber"] = clientDefinedReferenceItem.ClientAccountNumber;
                    ViewData["SourceSystemCode"]    = clientDefinedReferenceItem.SourceSystemCode;
                }
            }

            return(View(clientDefinedReferenceItemValueVM));
        }
Beispiel #16
0
        public CDRImportStep2VM PreImportCheck(HttpPostedFileBase file, string clientSubUnitGuid, string displayName, string relatedToDisplayName = "")
        {
            //convert file to string so that we can parse
            int length = file.ContentLength;

            byte[] tempFile = new byte[length];
            file.InputStream.Read(tempFile, 0, length);
            byte[] array = tempFile.ToArray();
            System.Text.UTF8Encoding enc = new System.Text.UTF8Encoding();
            string fileToText            = fileToText = enc.GetString(array);

            /*
             * Regex to match on CDRValue
             * The following Special Characters are currently allowed in CDR fields:
             * Alpha (A-Z), numeric (0-9), ampersand (&), asterisk (*), at sign (@), hypen (-), forward slash (/), period (.),
             * underscore (_), equal (=), colon (:), open/closed brackets ( ), space
             */
            //string dataRegex = @"[^(\w|\-|@|*|(|)| |=|:|/)]+";
            string dataRegex = @"[^(\w| |\-|\@|\*|\&|\(|\)|\=|\:|\/|\.)]+";

            // Create the xml document container, this will be used to store the data after the Regex checks
            XmlDocument    doc = new XmlDocument();
            XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", null, null);

            doc.AppendChild(dec);
            XmlElement root = doc.CreateElement("CSUCDRs");

            doc.AppendChild(root);

            //Client SubUnit
            ClientSubUnit clientSubUnit = new ClientSubUnit();
            ClientSubUnitClientAccountRepository clientSubUnitClientAccountRepository = new ClientSubUnitClientAccountRepository();
            ClientSubUnitRepository clientSubUnitRepository = new ClientSubUnitRepository();

            clientSubUnit = clientSubUnitRepository.GetClientSubUnit(clientSubUnitGuid);
            string clientSubUnitName = clientSubUnit.ClientSubUnitName;

            List <string> returnMessages = new List <string>();
            string        returnMessage;
            int           i = 0;

            //Store Valid ClientSubUnitClientAccounts
            List <ClientSubUnitClientAccount>       validClientSubUnitClientAccounts   = new List <ClientSubUnitClientAccount>();
            List <ClientSubUnitClientAccountImport> invalidClientSubUnitClientAccounts = new List <ClientSubUnitClientAccountImport>();

            //Split the CSV into lines
            string[] lines = fileToText.Split(new string[] { "\n", "\r\n" }, StringSplitOptions.RemoveEmptyEntries);

            //loop through CSV lines
            foreach (string line in lines)
            {
                i++;

                if (i > 1)                 //ignore first line with titles
                {
                    string[] cells = line.Split(',');

                    //extract the data items from the file
                    string fileCostCentre          = cells[0];                                 //CDRValue (Cost Centre)
                    string fileSourceSystemCode    = cells[1];                                 //SourceSystemCode
                    string fileClientAccountNumber = cells[2];                                 //CWT Account No (Air/Rail)

                    //Credit Card No field is an optional field on the .csv file
                    string fileCreditCardNumber = string.Empty;
                    if (cells.Length >= 4)
                    {
                        fileCreditCardNumber = cells[3] ?? "";
                    }

                    //The RelatedToValue field is an optional field on the .csv file.  If there is no CDR Display Name value entered in the Validate CDR field,
                    //then the Import should not look for a RelatedToValue column on the .csv file
                    string fileRelatedToValue = string.Empty;
                    if (cells.Length >= 5)
                    {
                        fileRelatedToValue = cells[4] ?? "";
                    }

                    //Build the XML Element for a CDR
                    XmlElement xmlCDRItem = doc.CreateElement("CSUCDR");

                    //Populate the XML Element for a CDR
                    //This XMLDoc is only used if the File Passes Validation
                    XmlElement xmlSourceSystemCode = doc.CreateElement("SourceSystemCode");
                    xmlSourceSystemCode.InnerText = fileSourceSystemCode;
                    xmlCDRItem.AppendChild(xmlSourceSystemCode);

                    XmlElement xmlClientAccountNumber = doc.CreateElement("ClientAccountNumber");
                    xmlClientAccountNumber.InnerText = fileClientAccountNumber;
                    xmlCDRItem.AppendChild(xmlClientAccountNumber);

                    XmlElement xmlCostCentre = doc.CreateElement("CostCentre");
                    xmlCostCentre.InnerText = fileCostCentre;
                    xmlCDRItem.AppendChild(xmlCostCentre);

                    //Check for numerical credit card
                    if (!string.IsNullOrEmpty(fileCreditCardNumber))
                    {
                        int creditCardId;
                        if (!Int32.TryParse(fileCreditCardNumber, out creditCardId))
                        {
                            fileCreditCardNumber = "";
                        }

                        XmlElement xmlCreditCardId = doc.CreateElement("CreditCardId");
                        xmlCreditCardId.InnerText = !string.IsNullOrEmpty(fileCreditCardNumber) ? fileCreditCardNumber : "";
                        xmlCDRItem.AppendChild(xmlCreditCardId);
                    }

                    if (!string.IsNullOrEmpty(fileRelatedToValue) && !string.IsNullOrEmpty(relatedToDisplayName))
                    {
                        XmlElement xmlRelatedToDisplayName = doc.CreateElement("RelatedToDisplayName");
                        xmlRelatedToDisplayName.InnerText = !string.IsNullOrEmpty(relatedToDisplayName) ? relatedToDisplayName : "";
                        xmlCDRItem.AppendChild(xmlRelatedToDisplayName);

                        XmlElement xmlRelatedToValue = doc.CreateElement("RelatedToValue");
                        xmlRelatedToValue.InnerText = !string.IsNullOrEmpty(fileRelatedToValue) ? fileRelatedToValue : "";
                        xmlCDRItem.AppendChild(xmlRelatedToValue);
                    }

                    //Attach the XML Element for a CDR to the Document
                    root.AppendChild(xmlCDRItem);

                    bool existingValidClient = validClientSubUnitClientAccounts.Where(x =>
                                                                                      x.ClientAccountNumber == fileClientAccountNumber &&
                                                                                      x.SourceSystemCode == fileSourceSystemCode &&
                                                                                      x.ClientSubUnitGuid == clientSubUnitGuid
                                                                                      ).Count() > 0;

                    bool existingInvalidClient = invalidClientSubUnitClientAccounts.Where(x =>
                                                                                          x.ClientAccountNumber == fileClientAccountNumber &&
                                                                                          x.SourceSystemCode == fileSourceSystemCode &&
                                                                                          x.ClientSubUnitGuid == clientSubUnitGuid
                                                                                          ).Count() > 0;

                    //Check Client Account belongs to this Client
                    if (existingInvalidClient)
                    {
                        //Error: Account and SourceSystemCode have been detected in the data file that are not associated to the ClientSubUnit
                        returnMessage = "Account '" + fileClientAccountNumber + "' and SourceSystemCode '" + fileSourceSystemCode + "' have been detected in the data file that are not associated to the ClientSubUnit that you have selected ('" + clientSubUnitName + "'). Please either associate the Account and SourceSystemCode to the chosen ClientSubUnit or update the data file with the correct Account and SourceSystemCode";
                        if (!returnMessages.Contains(returnMessage))
                        {
                            returnMessages.Add(returnMessage);
                        }
                    }
                    else if (existingValidClient)
                    {
                        //No processing required as already marked as valid
                    }
                    else
                    {
                        ClientSubUnitClientAccount clientSubUnitClientAccount = clientSubUnitClientAccountRepository.GetClientSubUnitClientAccount(
                            fileClientAccountNumber,
                            fileSourceSystemCode,
                            clientSubUnitGuid
                            );
                        if (clientSubUnitClientAccount == null)
                        {
                            //Error: Account and SourceSystemCode have been detected in the data file that are not associated to the ClientSubUnit
                            returnMessage = "Account '" + fileClientAccountNumber + "' and SourceSystemCode '" + fileSourceSystemCode + "' have been detected in the data file that are not associated to the ClientSubUnit that you have selected ('" + clientSubUnitName + "'). Please either associate the Account and SourceSystemCode to the chosen ClientSubUnit or update the data file with the correct Account and SourceSystemCode";
                            if (!returnMessages.Contains(returnMessage))
                            {
                                returnMessages.Add(returnMessage);
                            }

                            ClientSubUnitClientAccountImport clientSubUnitClientAccountImport = new ClientSubUnitClientAccountImport()
                            {
                                ClientAccountNumber = fileClientAccountNumber,
                                SourceSystemCode    = fileSourceSystemCode,
                                ClientSubUnitGuid   = clientSubUnitGuid,
                            };

                            if (!invalidClientSubUnitClientAccounts.Contains(clientSubUnitClientAccountImport))
                            {
                                invalidClientSubUnitClientAccounts.Add(clientSubUnitClientAccountImport);
                            }
                        }
                        else
                        {
                            if (!validClientSubUnitClientAccounts.Contains(clientSubUnitClientAccount))
                            {
                                validClientSubUnitClientAccounts.Add(clientSubUnitClientAccount);
                            }
                        }
                    }

                    //Error: There is a value that exceeds the maximum length of 50 characters
                    if (fileCostCentre.Length > 50)
                    {
                        returnMessage = fileCostCentre + "is a VALUE that exceeds the maximum Value length of 50 characters. Please update the data file or select a new data file.";
                        if (!returnMessages.Contains(returnMessage))
                        {
                            returnMessages.Add(returnMessage);
                        }
                    }

                    ////Error: There is a credit card id that is not present in the database
                    //if (!string.IsNullOrEmpty(fileCreditCardNumber))
                    //{
                    //	int creditCardId = Int32.Parse(fileCreditCardNumber);
                    //	CreditCardRepository creditCardRepository = new CreditCardRepository();
                    //	CreditCard creditCard = creditCardRepository.GetCreditCard(creditCardId, false);
                    //	if (creditCard == null)
                    //	{
                    //		returnMessage = "Credit Card Id  " + fileCreditCardNumber + " has been detected in the file but is not present in the database. Please check the value and try again";
                    //		if (!returnMessages.Contains(returnMessage))
                    //		{
                    //			returnMessages.Add(returnMessage);
                    //			break;
                    //		}
                    //	}
                    //}

                    //Error: An invalid character that has been detected within the data file
                    if (Regex.Match(fileCostCentre, dataRegex).Success)
                    {
                        foreach (Match n in Regex.Matches(fileCostCentre, dataRegex))
                        {
                            returnMessage = n.Groups[0].Value + " is an invalid character that has been detected within the data file. Please update the data file or select a new data file to import.";
                            if (!returnMessages.Contains(returnMessage))
                            {
                                returnMessages.Add(returnMessage);
                            }
                        }
                    }

                    //Error: If a user doesn’t include the Validate CDR field on the UI, and there are RelatedToValues listed on the Import,
                    //the Import should fail and give the user an error message that Validate CDR value missing.
                    if (!string.IsNullOrEmpty(fileRelatedToValue) && string.IsNullOrEmpty(relatedToDisplayName))
                    {
                        returnMessage = "A value in the RelatedToValue column has been detected within the data file but the Validate CDR value missing. Please go back and enter a Validate CDR value or remove the RelatedToValue from the data file.";
                        if (!returnMessages.Contains(returnMessage))
                        {
                            returnMessages.Add(returnMessage);
                        }
                    }

                    //Error: If a user enters a value in the Validate CDR field on the UI, the Import file must include RelatedToValues else
                    // the Import should fail and give the user an error message that RelatedToValues missing on the Import
                    if (string.IsNullOrEmpty(fileRelatedToValue) && !string.IsNullOrEmpty(relatedToDisplayName))
                    {
                        returnMessage = "A Validate CDR has been detected but the RelatedToValue is missing. Please go back and remove the Validate CDR value or add the RelatedToValue data into the data file.";
                        if (!returnMessages.Contains(returnMessage))
                        {
                            returnMessages.Add(returnMessage);
                        }
                    }
                }
            }
            if (i == 0)
            {
                returnMessage = "There is no data in the file";
                returnMessages.Add(returnMessage);
            }

            CDRImportStep2VM preImportCheckResult = new CDRImportStep2VM();

            preImportCheckResult.ReturnMessages = returnMessages;

            if (returnMessages.Count != 0)
            {
                preImportCheckResult.IsValidData = false;
            }
            else
            {
                //DB Check
                string adminUserGuid = HttpContext.Current.User.Identity.Name.Split(new[] { '|' })[0];

                var output = (
                    from n in db.spDesktopDataAdmin_UpdateClientSubUnitClientDefinedReferencesCount_v1(
                        clientSubUnit.ClientSubUnitGuid,
                        displayName,
                        System.Xml.Linq.XElement.Parse(doc.OuterXml),
                        adminUserGuid
                        )
                    select n).ToList();

                foreach (spDesktopDataAdmin_UpdateClientSubUnitClientDefinedReferencesCount_v1Result message in output)
                {
                    returnMessages.Add(message.MessageText.ToString());
                }

                preImportCheckResult.FileBytes = array;

                preImportCheckResult.IsValidData = true;
            }

            return(preImportCheckResult);
        }
Beispiel #17
0
        public ActionResult Edit(string can, string ssc, string csu, FormCollection formCollection)
        {
            //Check Exists
            ClientSubUnitClientAccount clientSubUnitClientAccount = new ClientSubUnitClientAccount();

            clientSubUnitClientAccount = clientSubUnitClientAccountRepository.GetClientSubUnitClientAccount(can, ssc, csu);
            if (clientSubUnitClientAccount == null)
            {
                ViewData["ActionMethod"] = "EditPost";
                return(View("RecordDoesNotExistError"));
            }
            //Access Rights
            RolesRepository rolesRepository = new RolesRepository();

            if (!rolesRepository.HasWriteAccessToClientSubUnit(clientSubUnitClientAccount.ClientSubUnitGuid))
            {
                ViewData["Message"] = "You do not have access to this item";
                return(View("Error"));
            }
            if (!rolesRepository.HasWriteAccessToClientAccount(clientSubUnitClientAccount.ClientAccountNumber, clientSubUnitClientAccount.SourceSystemCode))
            {
                ViewData["Message"] = "You do not have access to this item";
                return(View("Error"));
            }

            //Update Item from Form
            try
            {
                UpdateModel(clientSubUnitClientAccount);
            }
            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"));
            }

            //Update Item
            try
            {
                clientSubUnitClientAccountRepository.Update(clientSubUnitClientAccount);
            }
            catch (SqlException ex)
            {
                //Versioning Error
                if (ex.Message == "SQLVersioningError")
                {
                    ViewData["ReturnURL"] = "/ClientSubUnitClientAccount.mvc/Edit?clientAccountNumber=" + can + "&ssc=" + ssc + "&csu=" + csu;
                    return(View("VersionError"));
                }

                //Generic Error
                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("ListBySubUnit", new { id = clientSubUnitClientAccount.ClientSubUnitGuid }));
        }