Ejemplo n.º 1
0
        public Task <GroupDTO> CreateNewGroupAsync(CreateGroupDataModel createGroupDataModel, CancellationTokenSource cancellationTokenSource) =>
        Task.Run(async() => {
            if (!CrossConnectivity.Current.IsConnected)
            {
                throw new InvalidOperationException(AppConsts.ERROR_INTERNET_CONNECTION);
            }

            GroupDTO createdGroup = null;

            CreateGroupRequest createGroupRequest = new CreateGroupRequest()
            {
                AccessToken = GlobalSettings.Instance.UserProfile.AccesToken,
                Data        = createGroupDataModel,
                Url         = GlobalSettings.Instance.Endpoints.GroupsEndpoints.CreateGroup
            };

            try {
                CreateGroupResponse createGroupResponse = await _requestProvider.PostAsync <CreateGroupRequest, CreateGroupResponse>(createGroupRequest);

                if (createGroupResponse != null)
                {
                    createdGroup = BuildGroup(createGroupResponse);
                }
                else
                {
                    throw new InvalidOperationException(GroupsService._CREATE_GROUP_COMMON_ERROR_MESSAGE);
                }
            }
            catch (ServiceAuthenticationException exc) {
                _identityUtilService.RefreshToken();

                throw exc;
            }
            catch (Exception exc) {
                Crashes.TrackError(exc);

                throw;
            }

            return(createdGroup);
        }, cancellationTokenSource.Token);
Ejemplo n.º 2
0
        public async Task <GroupModel> CreateGroup(CreateGroupDataModel model)
        {
            try
            {
                var request = new CreateGroupInputData
                {
                    Group = model
                };

                var response = _useCaseFactory.Create <IUseCase <CreateGroupInputData, CreateGroupOutputData> >()
                               .Execute(request);

                logger.Information(
                    $"Type: GroupService; Method: CreateGroup; Info: CreateGroup by Name: {request.Group.GroupName} successfully");

                return(response.Result.Group);
            }
            catch (Exception e)
            {
                logger.Error($"Type: GroupService; Method: CreateGroup; Error: {e.Message}");
                throw;
            }
        }
Ejemplo n.º 3
0
        public async Task <object> CreateGroup(CreateGroupDataModel group)
        {
            if (Equals(group, null))
            {
                return(new BadRequestResult());
            }

            GroupModel response;

            try
            {
                response = await groupService.CreateGroup(group);

                logger.Information("Type: GroupController; Method: CreateGroup; Info: Create Group successfully");
            }
            catch (Exception e)
            {
                logger.Error($"Type: GroupController; Method: CreateGroup; Error: {e.Message}");
                return(new BadRequestObjectResult(e.Message));
            }

            return(new OkObjectResult(response));
        }