Exemplo n.º 1
0
        public async Task <IActionResult> PostClientProfile(ClientProfileRequest userRequest)
        {
            ClientProfileService service = new ClientProfileService(_context);

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            return(service.Add(userRequest).ToJson());
        }
        //
        // GET: /ClientProfileItem/List

        public ActionResult List(int id, int?clientProfilePanelId)
        {
            ClientProfileItemsVM clientProfileItemsVM = new ClientProfileItemsVM();

            //Set Access Rights
            if (hierarchyRepository.AdminHasDomainWriteAccess(groupName))
            {
                clientProfileItemsVM.HasDomainWriteAccess = true;
            }

            //Get the ClientProfileGroup
            ClientProfileGroup clientProfileGroup = new ClientProfileGroup();

            clientProfileGroup = clientProfileGroupRepository.GetGroup(id);
            clientProfileGroupRepository.EditGroupForDisplay(clientProfileGroup);
            clientProfileItemsVM.ClientProfileGroup = clientProfileGroup;

            clientProfileItemsVM.ClientProfileGroupId = clientProfileGroup.ClientProfileGroupId;
            clientProfileItemsVM.ClientProfileGroupClientProfileGroupName = clientProfileGroup.ClientProfileGroupName;

            GDS           gds           = new GDS();
            GDSRepository gdsRepository = new GDSRepository();

            gds = gdsRepository.GetGDS(clientProfileGroup.GDSCode);
            clientProfileItemsVM.ClientProfileGroupGDSName = gds.GDSName;

            clientProfileItemsVM.ClientProfileGroupHierarchyItem = clientProfileGroup.HierarchyItem;
            clientProfileItemsVM.ClientProfileGroupBackOfficeSystemDescription = clientProfileGroup.BackOfficeSystem.BackOfficeSystemDescription;
            clientProfileItemsVM.ClientProfilePanelId = clientProfilePanelId ?? 0;

            //Get ClientTopUnit
            if (clientProfileGroup.HierarchyType == "ClientSubUnit")
            {
                ClientProfileGroupClientSubUnit clientProfileGroupClientSubUnit = clientProfileGroup.ClientProfileGroupClientSubUnits.SingleOrDefault();
                if (clientProfileGroupClientSubUnit != null)
                {
                    ClientSubUnitRepository clientSubUnitRepository = new ClientSubUnitRepository();
                    ClientSubUnit           clientSubUnit           = new ClientSubUnit();
                    clientSubUnit = clientSubUnitRepository.GetClientSubUnit(clientProfileGroupClientSubUnit.ClientSubUnitGuid);
                    if (clientSubUnit != null)
                    {
                        if (clientSubUnit.ClientTopUnit != null)
                        {
                            ViewData["ClientTopUnitName"] = clientSubUnit.ClientTopUnit.ClientTopUnitName;
                        }
                    }
                }
            }

            //Get a list of ClientProfileItems for each panel
            clientProfileItemsVM.ClientProfileItemsClientDetails = clientProfileItemRepository.GetClientProfilePanelClientProfileDataElements(id, 6);
            clientProfileItemsVM.ClientProfileItemsMidOffice     = clientProfileItemRepository.GetClientProfilePanelClientProfileDataElements(id, 3);
            clientProfileItemsVM.ClientProfileItemsBackOffice    = clientProfileItemRepository.GetClientProfilePanelClientProfileDataElements(id, 5);
            clientProfileItemsVM.ClientProfileItemsAirRailPolicy = clientProfileItemRepository.GetClientProfilePanelClientProfileDataElements(id, 7);
            clientProfileItemsVM.ClientProfileItemsItinerary     = clientProfileItemRepository.GetClientProfilePanelClientProfileDataElements(id, 9);
            clientProfileItemsVM.ClientProfileItems24Hours       = clientProfileItemRepository.GetClientProfilePanelClientProfileDataElements(id, 10);
            clientProfileItemsVM.ClientProfileItemsAmadeusTPM    = clientProfileItemRepository.GetClientProfilePanelClientProfileDataElements(id, 11);

            /*GDS Integration*/
            //https://docs.google.com/document/d/1TMOvJzZmePKjFTt0qFUC6_JGRz0x508uIiV3jGCa7b0/

            //TLS Update
            System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;

            ClientProfileService lService          = null;
            StringBuilder        clientProfileText = new StringBuilder();

            //Format PCC String
            string formattedPcc = GDSIntegration.FormatPccString(clientProfileGroup.PseudoCityOrOfficeId);

            try
            {
                //This is a singleton, and should be used strictly to retrieve existing profiles from the GDS
                lService = ClientProfileService.getInstance;
            }
            catch (Exception ex)
            {
                LogRepository logRepository = new LogRepository();
                logRepository.LogError(ex.Message);

                //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"));
            }

            if (lService != null)
            {
                try
                {
                    //string pGds, string pPcc, string pZeroLevel, string pCompanyProfileName, stringpTravellerProfileName
                    ClientProfileResponse clientProfileResponse = lService.GetProfile(gds.GDSName, formattedPcc, "", clientProfileGroup.ClientProfileGroupName, "");
                    if (clientProfileResponse != null)
                    {
                        if (clientProfileResponse.Result != CWTResponse.ResultStatus.Error)
                        {
                            if (clientProfileResponse.ClientProfile != null)
                            {
                                ClientProfile clientProfile = clientProfileResponse.ClientProfile;
                                if (clientProfile != null)
                                {
                                    if (clientProfile.ProfileLines.Count > 0)
                                    {
                                        //Loop through the profile and write out the lines
                                        foreach (ClientProfileLine line in clientProfile.ProfileLines)
                                        {
                                            //&#13;&#10; is new line
                                            clientProfileText.AppendFormat("{0} {1}&#13;&#10;", line.LineNumber, line.LineText);
                                        }

                                        //Pass content into view if exists
                                        if (!string.IsNullOrEmpty(clientProfileText.ToString()))
                                        {
                                            ViewData["clientProfileText"] = clientProfileText.ToString();
                                        }
                                    }
                                }
                            }
                        }
                        else
                        {
                            //Log Get Profile error messages and show error in GDS window
                            if (clientProfileResponse.MessageList.Count > 0)
                            {
                                string errorMessage = string.Empty;

                                foreach (string message in clientProfileResponse.MessageList)
                                {
                                    errorMessage += string.Format("{0}&#13;&#10;", message);
                                }

                                if (!string.IsNullOrEmpty(errorMessage))
                                {
                                    ViewData["clientProfileText"] = errorMessage;
                                }
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    LogRepository logRepository = new LogRepository();
                    logRepository.LogError(ex.Message);

                    //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(View(clientProfileItemsVM));
        }
Exemplo n.º 3
0
        public async Task <IActionResult> Register(UserRequest userRequest)
        {
            var res = new ResponseClass();

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            if (string.IsNullOrEmpty(userRequest.Mobile))
            {
                res.status = false;
                res.data   = 0;
            }
            try
            {
                var alreadyExists = _context.Users.Where(a => a.Mobile == userRequest.Mobile).FirstOrDefault();
                if (alreadyExists != null)
                {
                    res.status = true;
                    res.data   = alreadyExists.Id;
                }
                else
                {
                    var users = new Users()
                    {
                        Address     = userRequest.Address,
                        Mobile      = userRequest.Mobile,
                        UserType    = userRequest.UserType,
                        Name        = userRequest.Name,
                        IsActive    = true,
                        CreatedDate = new DateTime(),
                        UpdatedDate = new DateTime()
                    };
                    _context.Users.Add(users);
                    var _res = _context.SaveChanges();
                }
                var lastid = _context.Users.Where(a => a.Mobile == userRequest.Mobile).FirstOrDefault();
                res.status = true;
                res.data   = lastid.Id;
                if (userRequest.UserType == 2)
                {
                    ClientProfileService service = new ClientProfileService(_context);
                    var clientRequest            = new ClientProfileRequest()
                    {
                        Mobile = userRequest.Mobile, UserId = lastid.Id
                    };
                    service.Add(clientRequest);
                }
                else
                {
                    LawyerProfileService service = new LawyerProfileService(_context);
                    var clientRequest            = new LawyerProfileRequest()
                    {
                        Mobile = userRequest.Mobile, UserId = lastid.Id
                    };
                    service.Add(clientRequest);
                }
                return(res.ToJson());
            }
            catch (Exception ex)
            {
                res.status = false;
                res.data   = ex.Message;
                return(CreatedAtAction("GetUsers", res));
            }
        }
Exemplo n.º 4
0
        public string DoPublish([Bind(Exclude = "HierarchyType, HierarchyItem, HierarchyCode")] ClientProfileGroup clientProfileGroup,
                                [Bind(Include = "GDSCode, GDSName")] GDS gds, string gdsName, string formattedPcc, bool verify = false)
        {
            /*GDS Integration*/
            //https://docs.google.com/document/d/1TMOvJzZmePKjFTt0qFUC6_JGRz0x508uIiV3jGCa7b0/

            //TLS Update
            System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;

            ClientProfileService lService    = null;
            CWTResponse          CWTResponse = null;

            string errorMessage = string.Empty;

            try
            {
                //This is a singleton, and should be used strictly to retrieve existing profiles from the GDS
                lService = ClientProfileService.getInstance;

                if (lService == null)
                {
                    return("Service Error");
                }

                ClientProfile clientProfile = null;

                ClientProfileResponse clientProfileResponse = lService.GetProfile(gdsName, formattedPcc, "", clientProfileGroup.ClientProfileGroupName, "");

                if (clientProfileResponse != null && clientProfileResponse.ClientProfile != null)
                {
                    clientProfile = clientProfileResponse.ClientProfile;
                }

                if (clientProfileResponse != null && clientProfileResponse.MessageList != null && clientProfileResponse.MessageList.Count > 0)
                {
                    errorMessage = string.Format("These errors were returned by the GDS for PCC when retrieving profile:");

                    foreach (string message in clientProfileResponse.MessageList)
                    {
                        errorMessage += string.Format("{0}<br/>", message);
                    }

                    LogRepository logRepository = new LogRepository();
                    logRepository.LogError(errorMessage);
                    return(errorMessage);
                }

                //Get Lines
                List <ClientProfileItemVM> clientProfileItemsList = GDSIntegration.GetProfileLineItems(clientProfileGroup.ClientProfileGroupId);
                List <ClientProfileLine>   clientProfileItemLines = GDSIntegration.WriteProfileLines(clientProfileItemsList, gds.GDSCode);

                //Modify Profile
                if (clientProfile != null)
                {
                    //Replace current lines with new lines
                    clientProfile.ProfileLines = clientProfileItemLines;
                    CWTResponse = clientProfile.DeleteProfileLines();
                    CWTResponse = clientProfile.ModifyProfile();
                }
                //Create New
                else
                {
                    clientProfile = new ClientProfile(
                        gds.GDSName,
                        formattedPcc,
                        clientProfileGroup.ClientProfileGroupName,
                        string.Empty,
                        clientProfileItemLines);

                    CWTResponse = clientProfile.SaveProfile();
                }
            }
            catch (Exception ex)
            {
                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("There was a problem with your request, please see the log file or contact an administrator for details");
            }

            //Update Client Profile Publish Date
            if (CWTResponse != null && CWTResponse.Result != CWTResponse.ResultStatus.Error)
            {
                try
                {
                    //Don't update timestamp for verify process
                    if (!verify)
                    {
                        clientProfileGroupRepository.UpdateGroupPublishDate(clientProfileGroup);
                    }
                }
                catch (SqlException ex)
                {
                    //Versioning Error
                    if (ex.Message == "SQLVersioningError")
                    {
                        ViewData["ReturnURL"] = "/ClientProfileGroup.mvc/Publish/" + clientProfileGroup.ClientProfileGroupId;
                        return("Version Error");
                    }

                    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("Error");
                }
            }
            else if (CWTResponse != null && CWTResponse.MessageList != null && CWTResponse.MessageList.Count > 0)
            {
                errorMessage = string.Format("These errors were returned by the GDS for PCC when retrieving profile:");

                foreach (string message in CWTResponse.MessageList)
                {
                    errorMessage += string.Format("{0}<br/>", message);
                }

                errorMessage += "<br/>Please correct the profile and try to re-publish again.";

                LogRepository logRepository = new LogRepository();
                logRepository.LogError(errorMessage);
                return(errorMessage);
            }
            else
            {
                errorMessage = "There was a problem with your request, please see the log file or contact an administrator for details.";
                LogRepository logRepository = new LogRepository();
                logRepository.LogError(errorMessage);
                return(errorMessage);
            }

            return("true");
        }