public async Task <IActionResult> Delete([FromBody] JObject jsonObject)
        {
            var requestId = Guid.NewGuid().ToString();

            _logger.LogInformation($"RequestID:{requestId} - Delete called.");

            if (jsonObject == null)
            {
                _logger.LogError($"RequestID:{requestId} - Process_Create error: null");
                var errorResponse = JsonErrorResponse.BadRequest($"Process_Create error: null", requestId);

                return(BadRequest(errorResponse));
            }

            var modelObject = JsonConvert.DeserializeObject <ProcessTypeViewModel>(jsonObject.ToString(), new JsonSerializerSettings
            {
                MissingMemberHandling = MissingMemberHandling.Ignore,
                NullValueHandling     = NullValueHandling.Ignore
            });

            var resultCode = await _processService.DeleteItemAsync(modelObject, requestId);

            if (resultCode != ApplicationCore.StatusCodes.Status204NoContent)
            {
                _logger.LogError($"RequestID:{requestId} - Delete error: " + resultCode);
                var errorResponse = JsonErrorResponse.BadRequest($"Delete error: {resultCode.Name} ", requestId);

                return(BadRequest(errorResponse));
            }

            return(NoContent());
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> CreateAllLists(string siteRootId)
        {
            var requestId = Guid.NewGuid().ToString();

            _logger.LogInformation($"RequestID:{requestId} SetupController_CreateAllLists called.");

            // Check to see if setup is enabled and if not respond with bad request
            var checkSetupState = await CheckSetupState();

            if (checkSetupState != null)
            {
                return(BadRequest(checkSetupState));
            }

            try
            {
                await _setupService.CreateAllListsAsync(siteRootId);
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestID:{requestId} SetupController_CreateAllLists error: {ex.Message}");
                var errorResponse = JsonErrorResponse.BadRequest($"CreateAllLists error: {ex.Message}", requestId);
                return(BadRequest(errorResponse));
            }
            return(NoContent());
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> UploadFile(IFormFile file, string opportunityName, string docType)
        {
            var requestId = Guid.NewGuid().ToString();

            _logger.LogInformation($"RequestID:{requestId} - Document_UploadFile called.");

            try
            {
                Guard.Against.Null(file, "Document_UploadFile_file is null", requestId);
                Guard.Against.NullOrUndefined(opportunityName, "Document_UploadFile_opportunityName", requestId);
                Guard.Against.NullOrUndefined(docType, "Document_UploadFile_docType", requestId);

                var resp = await _documentService.UploadDocumentTeamAsync(opportunityName, docType, file, requestId);

                // TODO: check content of resp to see if there is an error

                return(Ok(resp));
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestID:{requestId} - Document_UploadFile error: {ex.Message}");
                var errorResponse = JsonErrorResponse.BadRequest($"Document_UploadFile error: {ex.Message} ", requestId);

                return(BadRequest(errorResponse));
            }
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> GetAll()
        {
            var requestId = Guid.NewGuid().ToString();

            _logger.LogInformation($"RequestID:{requestId} - GetAll called.");

            try
            {
                var modelList = (await _tasksService.GetAllAsync(requestId)).ToList();
                Guard.Against.Null(modelList, nameof(modelList), requestId);

                if (modelList.Count == 0)
                {
                    _logger.LogError($"RequestID:{requestId} - GetAll no items found.");
                    return(NotFound($"RequestID:{requestId} - GetAll no items found"));
                }

                return(Ok(modelList));
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestID:{requestId} - GetAll error: {ex.Message}");
                var errorResponse = JsonErrorResponse.BadRequest($"GetAll error: {ex.Message} ", requestId);

                return(BadRequest(errorResponse));
            }
        }
        public async Task <IActionResult> GetById()
        {
            var requestId = Guid.NewGuid().ToString();

            _logger.LogInformation("UserProfileController_GetById called.");

            try
            {
                var userUpn = (_userContext.User.Claims).ToList().Find(x => x.Type == "preferred_username")?.Value;

                if (String.IsNullOrEmpty(userUpn))
                {
                    _logger.LogError($"UPN:{requestId} - UserProfileController_GetById name == null.");
                    return(NotFound($"UPN:{requestId} - UserProfileController_GetById Invalid parameter passed"));
                }

                var userProfile = await _userProfileService.GetItemByUpnAsync(userUpn);

                if (userProfile == null)
                {
                    _logger.LogError($"UPN:{requestId} - UserProfileController_GetById no user found.");
                    return(NotFound($"UPN:{requestId} - UserProfileController_GetById no user found"));
                }

                return(Ok(JObject.FromObject(userProfile)));
            }
            catch (Exception ex)
            {
                _logger.LogError($"UPN:{requestId} - UserProfileController_GetById error: {ex.Message}");
                var errorResponse = JsonErrorResponse.BadRequest($"UserProfileController_GetById error: {ex.Message} ", requestId);

                return(BadRequest(errorResponse));
            }
        }
        public async Task <IActionResult> GetAll(int?page, [FromQuery] string upn)
        {
            var requestId = Guid.NewGuid().ToString();

            _logger.LogInformation($"RequestID:{requestId} - UserProfileController_GetAll called.");

            try
            {
                if (!String.IsNullOrEmpty(upn))
                {
                    return(await GetByUpn(upn));
                }

                var modelList = await _userProfileService.GetAllAsync(page ?? 1, 10, requestId);

                Guard.Against.Null(modelList, nameof(modelList), requestId);

                if (modelList.ItemsList.Count == 0)
                {
                    _logger.LogError($"RequestID:{requestId} - UserProfileController_GetAll no items found.");
                    return(NotFound($"RequestID:{requestId} - UserProfileController_GetAll no items found"));
                }

                return(Ok(JObject.FromObject(modelList)));
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestID:{requestId} - UserProfileController_GetAll error: {ex.Message}");
                var errorResponse = JsonErrorResponse.BadRequest($"UserProfileController_GetAll error: {ex.Message} ", requestId);

                return(BadRequest(errorResponse));
            }
        }
        public async Task <IActionResult> Create([FromBody] JObject jsonObject)
        {
            var requestId = Guid.NewGuid().ToString();

            _logger.LogInformation($"RequestID:{requestId} - Template_Create called.");

            try
            {
                if (jsonObject == null)
                {
                    _logger.LogError($"RequestID:{requestId} - Template_Create error: null");
                    var errorResponse = JsonErrorResponse.BadRequest($"Template_Create error: null", requestId);

                    return(BadRequest(errorResponse));
                }

                var modelObject = JsonConvert.DeserializeObject <TemplateViewModel>(jsonObject.ToString(), new JsonSerializerSettings
                {
                    MissingMemberHandling = MissingMemberHandling.Ignore,
                    NullValueHandling     = NullValueHandling.Ignore
                });

                if (!(_templateService.ProcessCheckAsync(modelObject.ProcessList, requestId)))
                {
                    _logger.LogError($"RequestID:{requestId} - Create error: Duplicate Process Types");
                    var errorResponse = JsonErrorResponse.BadRequest($"Create error: Duplicate Process Types", requestId);

                    return(BadRequest(errorResponse));
                }
                //TODO: P2 Refactor into Guard
                if (String.IsNullOrEmpty(modelObject.TemplateName))
                {
                    _logger.LogError($"RequestID:{requestId} - Template_Create error: invalid name");
                    var errorResponse = JsonErrorResponse.BadRequest($"Template_Create error: invalid name", requestId);

                    return(BadRequest(errorResponse));
                }

                var resultCode = await _templateService.CreateItemAsync(modelObject, requestId);

                if (resultCode != ApplicationCore.StatusCodes.Status201Created)
                {
                    _logger.LogError($"RequestID:{requestId} - Template_Create error: {resultCode.Name}");
                    var errorResponse = JsonErrorResponse.BadRequest($"Template_Create error: {resultCode.Name}", requestId);

                    return(BadRequest(errorResponse));
                }

                var location = "/Template/Create/new"; // TODO: Get the id from the results but need to wire from factory to here

                return(Created(location, $"RequestId: {requestId} - Template created."));
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestID:{requestId} Template_Create error: {ex.Message}");
                var errorResponse = JsonErrorResponse.BadRequest($"Template_Create error: {ex} ", requestId);

                return(BadRequest(errorResponse));
            }
        }
        public async Task <IActionResult> GetSiteId(string siteName)
        {
            var requestId = Guid.NewGuid().ToString();

            _logger.LogInformation($"RequestID:{requestId} GetSiteId called.");

            try
            {
                if (siteName == null)
                {
                    _logger.LogError($"RequestID:{requestId} GetSiteId error: siteName null");
                    var errorResponse = JsonErrorResponse.BadRequest("GetSiteId error: siteName null", requestId);

                    return(BadRequest(errorResponse));
                }

                var response = await _contextService.GetSiteIdAsync(siteName);

                return(Ok(response));
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestID:{requestId} GetSiteId error: {ex.Message}");
                var errorResponse = JsonErrorResponse.BadRequest($"GetSiteId error: {ex.Message}", requestId);

                return(BadRequest(errorResponse));
            }
        }
Ejemplo n.º 9
0
        public async Task <IActionResult> GetAll(int?page, [FromQuery] string id)
        {
            var requestId = Guid.NewGuid().ToString();

            _logger.LogInformation($"RequestID:{requestId} - GetAll called.");

            try
            {
                if (!String.IsNullOrEmpty(id))
                {
                    return(await GetById(id));
                }

                var modelList = (await _notificationService.GetAllAsync(1, 10, requestId)).ToList();
                Guard.Against.Null(modelList, nameof(modelList), requestId);
                if (modelList.Count == 0)
                {
                    _logger.LogError($"RequestID:{requestId} - GetAll no items found.");
                    return(NotFound($"RequestID:{requestId} - GetAll no items found"));
                }

                return(Ok(modelList));
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestID:{requestId} - GetAll error: {ex.Message}");
                var errorResponse = JsonErrorResponse.BadRequest($"GetAll error: {ex.Message} ", requestId);

                return(BadRequest(errorResponse));
            }
        }
        public async Task <JObject> CreateTempFolderAsync(string siteId, string folderName, string requestId = "")
        {
            _logger.LogInformation($"RequestId: {requestId} - CreateTempFolderAsync called.");
            try
            {
                Guard.Against.NullOrEmpty(siteId, nameof(siteId), requestId);
                Guard.Against.NullOrEmpty(folderName, nameof(folderName), requestId);

                // Add the folder.
                DriveItem folder = await GraphClient.Sites[siteId].Drive.Root.Children.Request().AddAsync(new DriveItem
                {
                    Name   = folderName,
                    Folder = new Folder()
                });

                if (folder != null)
                {
                    _logger.LogInformation($"RequestId: {requestId} - CreateFolderAsync end.");
                    return(JObject.FromObject(folder));;
                }

                _logger.LogError($"RequestId: {requestId} - CreateTempFolderAsync error: response foler null for folder: {folder}");
                var errorResponse = JsonErrorResponse.BadRequest($"CreateTempFolderAsync error: response foler null for folder: {folder}", requestId);
                return(errorResponse);
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestId: {requestId} - CreateTempFolderAsync Service Exception: {ex}");
                throw new ResponseException($"RequestId: {requestId} - CreateTempFolderAsync Service Exception: {ex}");
            }
        }
Ejemplo n.º 11
0
        public async Task <IActionResult> UpdateDocumentIdSettings([FromBody] JObject data)
        {
            var requestId = Guid.NewGuid().ToString();

            _logger.LogInformation($"RequestID:{requestId} SetupController_UpdateDocumentIdSettings called.");

            // Check to see if setup is enabled and if not respond with bad request
            var checkSetupState = await CheckSetupState(requestId);

            if (checkSetupState != null)
            {
                return(BadRequest(checkSetupState));
            }

            try
            {
                await _setupService.UpdateDocumentIdActivatorOptionsAsync(data["key"].ToString(), data["value"].ToString(), requestId);
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestID:{requestId} SetupController_UpdateDocumentIdSettings error: {ex.Message}");
                var errorResponse = JsonErrorResponse.BadRequest($"UpdateDocumentIdSettings error: {ex.Message}", requestId);
                return(BadRequest(errorResponse));
            }
            return(NoContent());
        }
Ejemplo n.º 12
0
        public async Task <IActionResult> GetByName(string name, bool isCheckName)
        {
            var requestId = Guid.NewGuid().ToString();

            _logger.LogInformation($"RequestID:{requestId} - GetOpportunityByName called.");

            try
            {
                if (String.IsNullOrEmpty(name))
                {
                    _logger.LogError($"RequestID:{requestId} - GetOpportunityByName name == null.");
                    return(NotFound($"RequestID:{requestId} - GetOpportunityByName Invalid parameter passed"));
                }
                var thisOpportunity = await _opportunityService.GetItemByNameAsync(name, isCheckName, requestId);

                if (thisOpportunity == null)
                {
                    _logger.LogError($"RequestID:{requestId} - GetOpportunityByName no opporunities found.");
                    return(NotFound($"RequestID:{requestId} - GetOpportunityByName no opportunities found"));
                }

                var responseJObject = JObject.FromObject(thisOpportunity);

                return(Ok(responseJObject));
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestID:{requestId} - GetOpportunityByName error: {ex.Message}");
                var errorResponse = JsonErrorResponse.BadRequest($"GetOpportunityByName error: {ex.Message} ", requestId);

                return(BadRequest(errorResponse));
            }
        }
Ejemplo n.º 13
0
        public async Task <IActionResult> SetOnBehalfToken()
        {
            var requestId = Guid.NewGuid().ToString();

            _logger.LogInformation($"RequestID:{requestId} SetupController_SetOnBehalfToken called.");

            try
            {
                var userId = User.FindFirst(AzureAdConstants.ObjectIdClaimType)?.Value;

                var testToken = await _graphAuthProvider.GetUserAccessTokenAsync(userId, true);

                Guard.Against.NullOrEmpty(testToken, $"RequestID:{requestId} SetupController_SetOnBehalfToken token is empty.");

                return(NoContent());
                //return Ok(testToken); // TODO: For testing only, remove this line and uncomment the previous line before relese
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestID:{requestId} SetupController_SetOnBehalfToken error: {ex.Message}");
                var errorResponse = JsonErrorResponse.BadRequest($"RequestID:{requestId} SetupController_SetOnBehalfToken error: {ex.Message}", requestId);

                return(BadRequest(errorResponse));
            }
        }
        public async Task <IActionResult> GetByReference(string reference)
        {
            var requestId = Guid.NewGuid().ToString();

            _logger.LogInformation($"RequestID:{requestId} - GeOpportunitytByReference called.");

            try
            {
                if (String.IsNullOrEmpty(reference))
                {
                    _logger.LogError($"RequestID:{requestId} - GeOpportunitytByReference ref == null.");
                    return(NotFound($"RequestID:{requestId} - GeOpportunitytByReference Invalid parameter. ref = null."));
                }
                var thisOpportunity = await _opportunityService.GetItemByRefAsync(reference, requestId);

                if (thisOpportunity == null)
                {
                    _logger.LogError($"RequestID:{requestId} - GeOpportunitytByReference no opportunities found.");
                    return(NotFound($"RequestID:{requestId} - GeOpportunitytByReference no opportunities found"));
                }

                return(Ok(JObject.FromObject(thisOpportunity)));
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestID:{requestId} - GeOpportunitytByReference error: {ex.Message}");
                var errorResponse = JsonErrorResponse.BadRequest($"GeOpportunitytByReference error: {ex.Message} ", requestId);

                return(BadRequest(errorResponse));
            }
        }
Ejemplo n.º 15
0
        public async Task <IActionResult> GetAll()
        {
            var requestId = Guid.NewGuid().ToString();

            _logger.LogInformation($"RequestID:{requestId} - PowerBIController_GetPBIToken called.");

            try
            {
                var pbiToken = await _pbiService.GenerateTokenAsync(requestId);

                if (String.IsNullOrEmpty(pbiToken))
                {
                    _logger.LogError($"RequestID:{requestId} PowerBIController_GetPBIToken error: could not get on behalf access token");
                    var errorResponse = JsonErrorResponse.BadRequest($"RequestID:{requestId} PowerBIController_GetPBIToken error: could not get on behalf access token", requestId);
                    return(BadRequest(errorResponse));
                }

                return(Ok(pbiToken));
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestID:{requestId} - PowerBIController_GetPBIToken error: {ex.Message}");
                var errorResponse = JsonErrorResponse.BadRequest($"PowerBIController_GetPBIToken error: {ex.Message} ", requestId);

                return(BadRequest(errorResponse));
            }
        }
Ejemplo n.º 16
0
        public async Task <IActionResult> UpdateAppSettings(string key, string value)
        {
            var requestId = Guid.NewGuid().ToString();

            _logger.LogInformation($"RequestID:{requestId} SetupController_UpdateAppSettings called.");

            // Check to see if setup is enabled and if not respond with bad request
            var checkSetupState = await CheckSetupState(requestId);

            if (checkSetupState != null)
            {
                return(BadRequest(checkSetupState));
            }

            try
            {
                var result = await _setupService.UpdateAppOpptionsAsync(key, value, requestId);
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestID:{requestId} SetupController_UpdateAppSettings error: {ex.Message}");
                var errorResponse = JsonErrorResponse.BadRequest($"UpdateAppSettings error: {ex.Message}", requestId);
                return(BadRequest(errorResponse));
            }
            return(NoContent());
        }
        public async Task <IActionResult> GetByUpn(string upn)
        {
            var requestId = Guid.NewGuid().ToString();

            _logger.LogInformation($"UPN:{upn} - UserProfileController_GetByUPN called.");

            try
            {
                if (String.IsNullOrEmpty(upn))
                {
                    _logger.LogError($"UPN:{requestId} - UserProfileController_GetByUPN name == null.");
                    return(NotFound($"UPN:{requestId} - UserProfileController_GetByUPN Invalid parameter passed"));
                }
                var userProfile = await _userProfileService.GetItemByUpnAsync(upn);

                if (userProfile == null)
                {
                    _logger.LogError($"UPN:{requestId} - UserProfileController_GetByUPN no user found.");
                    return(NotFound($"UPN:{requestId} - UserProfileController_GetByUPN no user found"));
                }

                return(Ok(JObject.FromObject(userProfile)));
            }
            catch (Exception ex)
            {
                _logger.LogError($"UPN:{requestId} - UserProfileController_GetByUPN error: {ex.Message}");
                var errorResponse = JsonErrorResponse.BadRequest($"UserProfileController_GetByUPN error: {ex.Message} ", requestId);

                return(BadRequest(errorResponse));
            }
        }
Ejemplo n.º 18
0
        // GET: /Notification?id={id}
        public async Task <IActionResult> GetById(string id)
        {
            var requestId = Guid.NewGuid().ToString();

            _logger.LogInformation($"RequestID:{requestId} - GetById called.");

            try
            {
                if (String.IsNullOrEmpty(id))
                {
                    _logger.LogError($"RequestID:{requestId} - GetById notification id == null.");
                    return(NotFound($"RequestID:{requestId} - GetById notification Invalid parameter. id = null "));
                }
                var response = await _notificationService.GetItemByIdAsync(id, requestId);

                if (response == null)
                {
                    _logger.LogError($"RequestID:{requestId} - GetById no notifications found.");
                    return(NotFound($"RequestID:{requestId} - GetById no notifications found"));
                }

                var responseJObject = JObject.FromObject(response);

                return(Ok(responseJObject));
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestID:{requestId} - GetById error: {ex.Message}");
                var errorResponse = JsonErrorResponse.BadRequest($"GetById error: {ex.Message} ", requestId);

                return(BadRequest(errorResponse));
            }
        }
        public async Task <HttpResponseMessage> Post([FromBody] Activity activity)
        {
            var requestId = $"bot_{Guid.NewGuid().ToString()}";

            _logger.LogInformation($"RequestID:{requestId} - MessagesController_Post called.");

            try
            {
                _logger.LogInformation($"RequestID:{requestId} - MessagesController_Post activity.ServiceUrl: {activity.ServiceUrl}");
                _logger.LogInformation($"RequestID:{requestId} - MessagesController_Post activity.ChannelId: {activity.ChannelId}");

                var channelDataJson = JObject.FromObject(activity.ChannelData);
                var activityJson    = JObject.FromObject(activity);
                _logger.LogInformation($"RequestID:{requestId} - MessagesController_Post activity.channelData: {activityJson}");
                //var teamsChannelData = (TeamsChannelData)activity.ChannelData;
                _logger.LogInformation($"RequestID:{requestId} - MessagesController_Post activity.channelData: {channelDataJson["team"]["name"].ToString()} - {channelDataJson["team"]["id"].ToString()}");

                await _cardNotificationService.HandleIncomingRequestAsync(activity, _connectorClient);

                // Update the opportunity with the channelId
                var opportunity = await _opportunityService.GetItemByNameAsync(channelDataJson["team"]["name"].ToString(), false, requestId);

                if (opportunity != null)
                {
                    //TODO : WAVE-4 GENERIC ACCELERATOR Change : start
                    var obj = opportunity.MetaDataFields.FirstOrDefault(x => x.DisplayName == "OpportunityChannelId") ?? null;
                    if (obj != null)
                    {
                        obj.Values = channelDataJson["team"]["id"].ToString();
                    }
                    else
                    {
                        opportunity.MetaDataFields.Add(new OpportunityMetaDataFields {
                            DisplayName = "DisbursementSchedule", Values = channelDataJson["team"]["id"].ToString(), FieldType = FieldType.String
                        });
                    }

                    //opportunity.OpportunityChannelId = channelDataJson["team"]["id"].ToString();
                    //TODO : WAVE-4 GENERIC ACCELERATOR Change : end
                    await _opportunityService.UpdateItemAsync(opportunity, requestId);
                }

                var resp = new HttpResponseMessage(HttpStatusCode.OK);
                resp.Content = new StringContent($"<html><body>Message received.</body></html>", System.Text.Encoding.UTF8, @"text/html");

                return(resp);
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestID:{requestId} MessagesController_Post error: {ex.Message}");
                var errorResponse = JsonErrorResponse.BadRequest($"MessagesController_Post error: {ex} ", requestId);

                var resp = new HttpResponseMessage(HttpStatusCode.BadRequest);
                resp.Content = new StringContent($"<html><body>Error: {errorResponse} </body></html>", System.Text.Encoding.UTF8, @"text/html");

                return(resp);
            }
        }
Ejemplo n.º 20
0
        public async Task <IActionResult> CreateAsync([FromBody] JObject jsonObject)
        {
            var requestId = Guid.NewGuid().ToString();

            _logger.LogInformation($"RequestID:{requestId} - RoleMapping_Create called.");

            try
            {
                if (jsonObject == null)
                {
                    _logger.LogError($"RequestID:{requestId} - RoleMapping_Create error: null");
                    var errorResponse = JsonErrorResponse.BadRequest($"RoleMapping_Create error: null", requestId);

                    return(BadRequest(errorResponse));
                }

                //modelObject.PermissionsList = permissionlist;
                var modelObject = JsonConvert.DeserializeObject <RoleMappingModel>(jsonObject.ToString(), new JsonSerializerSettings
                {
                    MissingMemberHandling = MissingMemberHandling.Ignore,
                    NullValueHandling     = NullValueHandling.Ignore
                });


                //TODO: P2 Refactor into Guard
                if (String.IsNullOrEmpty(modelObject.AdGroupName))
                {
                    _logger.LogError($"RequestID:{requestId} - RoleMapping_Create error: invalid deserialized object");
                    var errorResponse = JsonErrorResponse.BadRequest($"RoleMapping_Create error: invalid deserialized object", requestId);

                    return(BadRequest(errorResponse));
                }

                var resultCode = await _roleMappingService.CreateItemAsync(modelObject, requestId);

                if (resultCode != ApplicationCore.StatusCodes.Status201Created)
                {
                    _logger.LogError($"RequestID:{requestId} - RoleMapping_Create error: {resultCode.Name}");
                    var errorResponse = JsonErrorResponse.BadRequest($"RoleMapping_Create error: {resultCode.Name}", requestId);

                    return(BadRequest(errorResponse));
                }

                var location = "/RoleMapping/Create/new"; // TODO: Get the id from the results but need to wire from factory to here

                return(Created(location, $"RequestId: {requestId} - RoleMapping created."));
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestID:{requestId} Region_Create error: {ex.Message}");
                var errorResponse = JsonErrorResponse.BadRequest($"Region_Create error: {ex} ", requestId);

                return(BadRequest(errorResponse));
            }
        }
        public async Task <IActionResult> Create([FromBody] JObject opportunityJson)
        {
            var requestId = Guid.NewGuid().ToString();

            _logger.LogInformation($"RequestID:{requestId} - Create called.");

            try
            {
                if (opportunityJson == null)
                {
                    _logger.LogError($"RequestID:{requestId} - Create error: oportunity null");
                    var errorResponse = JsonErrorResponse.BadRequest($"Create error: oportunity null", requestId);

                    return(BadRequest(errorResponse));
                }

                var opportunity = JsonConvert.DeserializeObject <OpportunityViewModel>(opportunityJson.ToString(), new JsonSerializerSettings
                {
                    MissingMemberHandling = MissingMemberHandling.Ignore,
                    NullValueHandling     = NullValueHandling.Ignore
                });

                //TODO: P2 Refactor into Guard
                if (String.IsNullOrEmpty(opportunity.DisplayName))
                {
                    _logger.LogError($"RequestID:{requestId} - Create error: invalid oportunity name");
                    var errorResponse = JsonErrorResponse.BadRequest($"Create error: invalid oportunity name", requestId);

                    return(BadRequest(errorResponse));
                }

                var resultCode = await _opportunityService.CreateItemAsync(opportunity, requestId);

                if (resultCode != ApplicationCore.StatusCodes.Status201Created)
                {
                    _logger.LogError($"RequestID:{requestId} - Create error: {resultCode.Name}");
                    var errorResponse = JsonErrorResponse.BadRequest($"Create error: oportunity {resultCode.Name}", requestId);

                    return(BadRequest(errorResponse));
                }

                var location = "/Opportunity/Create/new"; // TODO: Get the id from the results but need to wire from factory to here

                return(Created(location, $"RequestId: {requestId} - Opportunity created."));
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestID:{requestId} Create error: {ex.Message}");
                var errorResponse = JsonErrorResponse.BadRequest($"Create error: {ex} ", requestId);

                return(BadRequest(errorResponse));
            }
        }
Ejemplo n.º 22
0
        // Private methods
        private Task <JObject> CheckSetupState(string requestId = "")
        {
            JObject response = new JObject();

            if (_appOptions.SetupPage.ToLower() != "enabled")
            {
                _logger.LogError($"RequestID:{requestId} - SetupController_CheckSetupState error: Setup is not enabled");
                response = JsonErrorResponse.BadRequest($"SetupController_CheckSetupState error: Setup is not enabled", requestId);
            }

            return(Task.FromResult(response.Count > 0 ? response : null));
        }
Ejemplo n.º 23
0
        public async Task <IActionResult> Create([FromBody] JObject jsonObject)
        {
            var requestId = Guid.NewGuid().ToString();

            _logger.LogInformation($"RequestID:{requestId} - Groups_Create called.");

            try
            {
                if (jsonObject == null)
                {
                    _logger.LogError($"RequestID:{requestId} - Groups_Create error: null");
                    var errorResponse = JsonErrorResponse.BadRequest($"Groups_Create error: null", requestId);

                    return(BadRequest(errorResponse));
                }

                var modelObject = JsonConvert.DeserializeObject <GroupModel>(jsonObject.ToString(), new JsonSerializerSettings
                {
                    MissingMemberHandling = MissingMemberHandling.Ignore,
                    NullValueHandling     = NullValueHandling.Ignore
                });


                //TODO: P2 Refactor into Guard
                if (String.IsNullOrEmpty(modelObject.GroupName))
                {
                    _logger.LogError($"RequestID:{requestId} - Groups_Create error: invalid name");
                    var errorResponse = JsonErrorResponse.BadRequest($"Groups_Create error: invalid name", requestId);

                    return(BadRequest(errorResponse));
                }

                var resultCode = await _groupsService.CreateItemAsync(modelObject, requestId);

                if (resultCode != ApplicationCore.StatusCodes.Status201Created)
                {
                    _logger.LogError($"RequestID:{requestId} - Groups_Create error: {resultCode.Name}");
                    var errorResponse = JsonErrorResponse.BadRequest($"Groups_Create error: {resultCode.Name}", requestId);

                    return(BadRequest(errorResponse));
                }


                return(Created("Group/Create/New", $"RequestId: {requestId} - Group created."));
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestID:{requestId} Groups_Create error: {ex.Message}");
                var errorResponse = JsonErrorResponse.BadRequest($"Groups_Create error: {ex} ", requestId);

                return(BadRequest(errorResponse));
            }
        }
Ejemplo n.º 24
0
        public async Task <IActionResult> Create([FromBody] JObject notificationJson)
        {
            var requestId = Guid.NewGuid().ToString();

            _logger.LogInformation($"RequestID:{requestId} - Create called.");

            try
            {
                if (notificationJson == null)
                {
                    _logger.LogError($"RequestID:{requestId} - Create error: notification null");
                    var errorResponse = JsonErrorResponse.BadRequest($"Create error: notification null", requestId);

                    return(BadRequest(errorResponse));
                }

                var notification = JsonConvert.DeserializeObject <NotificationModel>(notificationJson.ToString(), new JsonSerializerSettings
                {
                    MissingMemberHandling = MissingMemberHandling.Ignore,
                    NullValueHandling     = NullValueHandling.Ignore
                });

                if (String.IsNullOrEmpty(notification.Title) || String.IsNullOrEmpty(notification.Message) || String.IsNullOrEmpty(notification.SentFrom) || String.IsNullOrEmpty(notification.SentTo))
                {
                    _logger.LogError($"RequestID:{requestId} - Create error: invalid parameters");
                    var errorResponse = JsonErrorResponse.BadRequest($"Create error: invalid parameters", requestId);

                    return(BadRequest(errorResponse));
                }

                var resultCode = await _notificationService.CreateItemAsync(notification, requestId);

                if (resultCode != ApplicationCore.StatusCodes.Status201Created)
                {
                    _logger.LogError($"RequestID:{requestId} - Create error: {resultCode.Name}");
                    var errorResponse = JsonErrorResponse.BadRequest($"Create error: notification {resultCode.Name}", requestId);

                    return(BadRequest(errorResponse));
                }

                var location = "/Notification/Create/new"; // TODO: Get the id from the results but need to wire from factory to here

                return(Created(location, $"RequestId: {requestId} - Notification created."));
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestID:{requestId} Create error: {ex.Message}");
                var errorResponse = JsonErrorResponse.BadRequest($"Create error: {ex} ", requestId);

                return(BadRequest(errorResponse));
            }
        }
Ejemplo n.º 25
0
        public async Task <IActionResult> GetAll(int?page, [FromQuery] string name, [FromQuery] string id, [FromQuery] string reference, [FromQuery] string checkName = "")
        {
            var requestId = Guid.NewGuid().ToString();

            _logger.LogInformation($"RequestID:{requestId} - GetAll called.");

            try
            {
                if (!String.IsNullOrEmpty(checkName))
                {
                    return(await GetByName(checkName, true));
                }

                if (!String.IsNullOrEmpty(name))
                {
                    return(await GetByName(name, false));
                }

                if (!String.IsNullOrEmpty(id))
                {
                    return(await GetById(id));
                }

                if (!String.IsNullOrEmpty(reference))
                {
                    return(await GetByReference(reference));
                }

                var itemsPage = 10;

                var modelList = await _opportunityService.GetAllAsync(page ?? 1, itemsPage, requestId);

                Guard.Against.Null(modelList, nameof(modelList), requestId);

                if (modelList.ItemsList.Count == 0)
                {
                    _logger.LogError($"RequestID:{requestId} - GetAll no user profiles found.");
                    return(NotFound($"RequestID:{requestId} - GetAll no user profiles found"));
                }

                var responseJson = JObject.FromObject(modelList);

                return(Ok(responseJson));
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestID:{requestId} - GetAll error: {ex.Message}");
                var errorResponse = JsonErrorResponse.BadRequest($"GetAll error: {ex.Message} ", requestId);

                return(BadRequest(errorResponse));
            }
        }
Ejemplo n.º 26
0
        public async Task <IActionResult> Update([FromBody] JObject jsonObject)
        {
            var requestId = Guid.NewGuid().ToString();

            _logger.LogInformation($"RequestID:{requestId} - Tasks_Update called.");

            try
            {
                if (jsonObject == null)
                {
                    _logger.LogError($"RequestID:{requestId} - Tasks_Update error: null");
                    var errorResponse = JsonErrorResponse.BadRequest($"Tasks_Update error: null", requestId);

                    return(BadRequest(errorResponse));
                }

                var modelObject = JsonConvert.DeserializeObject <TasksModel>(jsonObject.ToString(), new JsonSerializerSettings
                {
                    MissingMemberHandling = MissingMemberHandling.Ignore,
                    NullValueHandling     = NullValueHandling.Ignore
                });

                //TODO: P2 Refactor into Guard
                if (String.IsNullOrEmpty(modelObject.Id))
                {
                    _logger.LogError($"RequestID:{requestId} - Tasks_Update error: invalid id");
                    var errorResponse = JsonErrorResponse.BadRequest($"Tasks_Update error: invalid id", requestId);

                    return(BadRequest(errorResponse));
                }

                var resultCode = await _tasksService.UpdateItemAsync(modelObject, requestId);

                if (resultCode != ApplicationCore.StatusCodes.Status200OK)
                {
                    _logger.LogError($"RequestID:{requestId} - Tasks_Update error: {resultCode.Name}");
                    var errorResponse = JsonErrorResponse.BadRequest($"Tasks_Update error: {resultCode.Name} ", requestId);

                    return(BadRequest(errorResponse));
                }

                return(NoContent());
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestID:{requestId} - Tasks_Update error: {ex.Message}");
                var errorResponse = JsonErrorResponse.BadRequest($"Tasks_Update error: {ex.Message} ", requestId);

                return(BadRequest(errorResponse));
            }
        }
Ejemplo n.º 27
0
        public async Task <IActionResult> Update([FromBody] JObject notificationJson)
        {
            var requestId = Guid.NewGuid().ToString();

            _logger.LogInformation($"RequestID:{requestId} - Update called.");

            try
            {
                if (notificationJson == null)
                {
                    _logger.LogError($"RequestID:{requestId} - Update error: notification null");
                    var errorResponse = JsonErrorResponse.BadRequest($"Update error: notification null", requestId);

                    return(BadRequest(errorResponse));
                }

                var notification = JsonConvert.DeserializeObject <NotificationModel>(notificationJson.ToString(), new JsonSerializerSettings
                {
                    MissingMemberHandling = MissingMemberHandling.Ignore,
                    NullValueHandling     = NullValueHandling.Ignore
                });

                if (String.IsNullOrEmpty(notification.Id) || String.IsNullOrEmpty(notification.SentFrom))
                {
                    _logger.LogError($"RequestID:{requestId} - Update error: invalid notification id");
                    var errorResponse = JsonErrorResponse.BadRequest($"Update error: invalid notification id", requestId);

                    return(BadRequest(errorResponse));
                }

                var resultCode = await _notificationService.UpdateItemAsync(notification, requestId);

                if (resultCode != ApplicationCore.StatusCodes.Status200OK)
                {
                    _logger.LogError($"RequestID:{requestId} - Update error: {resultCode.Name}");
                    var errorResponse = JsonErrorResponse.BadRequest($"Update error: {resultCode.Name} ", requestId);

                    return(BadRequest(errorResponse));
                }

                return(NoContent());
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestID:{requestId} - Update error: {ex.Message}");
                var errorResponse = JsonErrorResponse.BadRequest($"Update error: {ex.Message} ", requestId);

                return(BadRequest(errorResponse));
            }
        }
Ejemplo n.º 28
0
        public async Task <IActionResult> Create([FromBody] JObject jsonObject)
        {
            var requestId = Guid.NewGuid().ToString();

            _logger.LogInformation($"RequestID:{requestId} - Role_Create called.");

            try
            {
                if (jsonObject == null)
                {
                    _logger.LogError($"RequestID:{requestId} - Role_Create error: null");
                    var errorResponse = JsonErrorResponse.BadRequest($"Role_Create error: null", requestId);

                    return(BadRequest(errorResponse));
                }

                var modelObject = JsonConvert.DeserializeObject <RoleModel>(jsonObject.ToString(), new JsonSerializerSettings
                {
                    MissingMemberHandling = MissingMemberHandling.Ignore,
                    NullValueHandling     = NullValueHandling.Ignore
                });


                //TODO: P2 Refactor into Guard
                if (String.IsNullOrEmpty(modelObject.DisplayName))
                {
                    _logger.LogError($"RequestID:{requestId} - Role_Create error: invalid name");
                    var errorResponse = JsonErrorResponse.BadRequest($"Role_Create error: invalid name", requestId);

                    return(BadRequest(errorResponse));
                }

                var result = await roleService.CreateItemAsync(modelObject, requestId);

                var roleId = result.SelectToken("id").ToString();
                return(new CreatedResult(roleId, null));
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestID:{requestId} Role_Create error: {ex.Message}");
                var errorResponse = JsonErrorResponse.BadRequest($"Role_Create error: {ex} ", requestId);

                return(BadRequest(errorResponse));
            }
        }
Ejemplo n.º 29
0
        public async Task <HttpResponseMessage> Post([FromBody] Activity activity)
        {
            var requestId = $"bot_{Guid.NewGuid().ToString()}";

            _logger.LogInformation($"RequestID:{requestId} - MessagesController_Post called.");

            try
            {
                _logger.LogInformation($"RequestID:{requestId} - MessagesController_Post activity.ServiceUrl: {activity.ServiceUrl}");
                _logger.LogInformation($"RequestID:{requestId} - MessagesController_Post activity.ChannelId: {activity.ChannelId}");

                var channelDataJson = JObject.FromObject(activity.ChannelData);
                var activityJson    = JObject.FromObject(activity);
                _logger.LogInformation($"RequestID:{requestId} - MessagesController_Post activity.channelData: {activityJson}");
                //var teamsChannelData = (TeamsChannelData)activity.ChannelData;
                _logger.LogInformation($"RequestID:{requestId} - MessagesController_Post activity.channelData: {channelDataJson["team"]["name"].ToString()} - {channelDataJson["team"]["id"].ToString()}");

                var connector = new ConnectorClient(new Uri(activity.ServiceUrl), _microsoftAppCredentials);
                var response  = await _cardNotificationService.HandleIncomingRequestAsync(activity, _connectorClient);

                // Update the opportunity with the channelId
                var opportunity = await _opportunityService.GetItemByNameAsync(channelDataJson["team"]["name"].ToString(), false, requestId);

                if (opportunity != null)
                {
                    opportunity.OpportunityChannelId = channelDataJson["team"]["id"].ToString();
                    var updateOpp = await _opportunityService.UpdateItemAsync(opportunity, requestId);
                }

                var resp = new HttpResponseMessage(HttpStatusCode.OK);
                resp.Content = new StringContent($"<html><body>Message received.</body></html>", System.Text.Encoding.UTF8, @"text/html");

                return(resp);
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestID:{requestId} MessagesController_Post error: {ex.Message}");
                var errorResponse = JsonErrorResponse.BadRequest($"MessagesController_Post error: {ex} ", requestId);

                var resp = new HttpResponseMessage(HttpStatusCode.BadRequest);
                resp.Content = new StringContent($"<html><body>Error: {errorResponse} </body></html>", System.Text.Encoding.UTF8, @"text/html");

                return(resp);
            }
        }
        public IActionResult GetActionStatusAll()
        {
            var requestId = Guid.NewGuid().ToString();

            _logger.LogInformation($"RequestID:{requestId} GetActionStatusAll called.");

            try
            {
                return(Ok(_contextService.GetActionStatusAllAsync()));
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestID:{requestId} GetActionStatusAll error: {ex.Message}");
                var errorResponse = JsonErrorResponse.BadRequest($"GetActionStatusAll error: {ex.Message}", requestId);

                return(BadRequest(errorResponse));
            }
        }