public async Task <IActionResult> AddRole([FromBody] Role role)
        {
            if (!ModelState.IsValid)
            {
                return(HttpResponseHelper.BadRequest(ModelState));
            }

            var checkRole = await _context.Roles.Where(r => r.Name.Equals(role.Name)).FirstOrDefaultAsync();

            if (checkRole != null)
            {
                return(HttpResponseHelper.BadRequest("Role '" + checkRole.Name + "' already exists."));
            }

            _context.Roles.Add(role);

            var error = await SaveChangesAsync();

            if (error != null)
            {
                return(error);
            }

            return(CreatedAtRoute("GetRole", new { id = role.Id }, role));
        }
Example #2
0
        public async Task <Result <HttpResponse> > UpdatePermission(PermissionDto permissionDto)
        {
            try
            {
                var exists = await _unitOfWork.PermissionRepository.ExistAsync(x => x.Id == permissionDto.Id);

                if (!exists)
                {
                    return(HttpResponseHelper.NewResult(HttpStatusCode.Conflict, HttpResponseHelper.NewHttpResponse(error: "The permission doesn't exist.")));
                }

                var permissionTypeExist = await _unitOfWork.PermissionTypeRepository.ExistAsync(x => x.Id == permissionDto.PermissionType.Id);

                if (!permissionTypeExist)
                {
                    return(HttpResponseHelper.NewResult(HttpStatusCode.Conflict, HttpResponseHelper.NewHttpResponse(error: "The permission type doesn't exist.")));
                }

                var permission = _mapper.Map <Permission>(permissionDto);
                await _unitOfWork.PermissionRepository.UpdateAsync(permission);

                await _unitOfWork.SaveAsync();

                return(HttpResponseHelper.NewResult(HttpStatusCode.OK, HttpResponseHelper.NewHttpResponse("The permission was updated it", success: true)));
            }
            catch (Exception e)
            {
                return(HttpResponseHelper.NewResult(HttpStatusCode.InternalServerError, HttpResponseHelper.NewHttpResponse(error: e.Message)));
            }
        }
 public AccountController()
 {
     _db = new ApplicationDbContext();
     _mngr = new UserManager(_db);
     _helper = new HttpResponseHelper<UserInfoVM>(this);
     _errHelper = new HttpResponseHelper<HttpError>(this);
 }
Example #4
0
        /// <summary>
        /// 获取文本返回
        /// </summary>
        /// <param name="actionResult"></param>
        /// <returns></returns>
        protected virtual IFullHttpResponse GetTextResponse(object actionResult)
        {
            Dictionary <AsciiString, object> headers = HttpResponseHelper.GetDefaultHeaders("text/plain;charset=utf-8");
            IFullHttpResponse result = HttpResponseHelper.GetHttpResponse(HttpResponseStatus.OK, actionResult.ToString(), headers);

            return(result);
        }
        public async Task <IActionResult> GetMatchDetailed([FromRoute] Guid id)
        {
            if (!ModelState.IsValid)
            {
                return(HttpResponseHelper.BadRequest(ModelState));
            }

            var match =
                await _context.Matches.Where(m => m.Id.Equals(id)).Include(m => m.Tournament).FirstOrDefaultAsync();

            if (match == null)
            {
                return(HttpResponseHelper.NotFound($"No Match found with Id {id}."));
            }

            match.Actors =
                await _context.MatchActors.Where(a => a.MatchId.Equals(id)).Include(a => a.Actor).ToListAsync();

            IList <Guid> matchActorIds = match.Actors.AsEnumerable().Select(a => a.Id).ToList();

            match.Rounds =
                await
                _context.MatchRounds.Where(r => matchActorIds.Contains(r.MatchActorId))
                .OrderBy(r => r.RoundNumber)
                .ToListAsync();

            return(Ok(match));
        }
Example #6
0
        private string HandleRequest(HttpRequest acceptedRequest)
        {
            var firstHeaderTokens = acceptedRequest.StartingLine.Split(' ');
            var method            = firstHeaderTokens[0];
            var resourcePath      = firstHeaderTokens[1];

            var uriToMatch = new Uri(this.baseAddress, resourcePath);
            var matched    = this.dispatcher.Match(method, uriToMatch);

            if (matched == null)
            {
                Logger.Warn("Unknown command recived: {0}", uriToMatch);
                return(HttpResponseHelper.ResponseString(HttpStatusCode.NotFound, "Unknown command " + uriToMatch));
            }

            var commandName      = matched.Data.ToString();
            var commandToExecute = new Command(commandName, acceptedRequest.MessageBody);

            foreach (string variableName in matched.BoundVariables.Keys)
            {
                commandToExecute.Parameters[variableName] = matched.BoundVariables[variableName];
            }

            var commandResponse = this.ProcessCommand(commandToExecute);

            return(HttpResponseHelper.ResponseString(commandResponse.HttpStatusCode, commandResponse.Content));
        }
        public async Task <IActionResult> PutGoal([FromRoute] Guid id, [FromBody] Goal form)
        {
            if (!ModelState.IsValid)
            {
                return(HttpResponseHelper.BadRequest(ModelState));
            }

            var goal = await _context.Goals.Where(g => g.Id.Equals(id)).FirstOrDefaultAsync();

            if (goal == null)
            {
                return(HttpResponseHelper.NotFound("No such Goal found."));
            }

            _context.Entry(goal).State = EntityState.Modified;
            goal.Description           = form.Description;

            var error = await SaveChangesAsync();

            if (error != null)
            {
                return(error);
            }

            return(Ok(goal));
        }
        public async Task <IActionResult> DeleteGoal([FromRoute] Guid id)
        {
            if (!ModelState.IsValid)
            {
                return(HttpResponseHelper.BadRequest(ModelState));
            }

            var goal = await _context.Goals.FindAsync(id);

            if (goal == null)
            {
                return(HttpResponseHelper.NotFound("No Goal found."));
            }

            goal.IsDeleted = true;

            var error = await SaveChangesAsync();

            if (error != null)
            {
                return(error);
            }

            return(Ok(goal));
        }
        public override async Task <HttpResponse> Invoke(HttpRequest request)
        {
            var ext = GetExtension(request.Url);

            if (ext == string.Empty)
            {
                return(await Next?.Invoke(request));
            }

            if (!EnableFileTypes.Keys.Any(x => x.ToLower().Equals(ext)))
            {
                return(await Next?.Invoke(request));
            }

            var fileinfo = fileProvider.GetFileInfo(request.Url);

            if (!fileinfo.Exists)
            {
                return(await HttpResponseHelper.CreateNotFoundResponseAsync());
            }

            using (var stream = fileinfo.CreateReadStream())
            {
                var res = new HttpResponse
                {
                    ContentType = EnableFileTypes[ext],
                };
                await res.WriteBodyAsync(stream);

                res.Headers.Add("Cache-Control", DefaultCacheStrategy);
                return(res);
            }
        }
        public async Task <IActionResult> GetActorGoal([FromRoute] Guid id)
        {
            var goal =
                await
                _context.ActorGoal.Where(g => g.GoalId.Equals(id))
                .Where(g => g.ActorId.Equals(session.Player.Id))
                .Include(g => g.Actor)
                .Include(g => g.Goal)
                .Include(g => g.ConcernOutcome)
                .Include(g => g.RewardResourceOutcome)
                .Include(g => g.Activity)
                .Include(g => g.Role)
                .FirstOrDefaultAsync();

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

            if (goal == null)
            {
                return(HttpResponseHelper.NotFound("No ActorGoal found."));
            }

            return(Ok(goal));
        }
        public async Task <IActionResult> DeleteInventory([FromRoute] Guid id)
        {
            if (!ModelState.IsValid)
            {
                return(HttpResponseHelper.BadRequest(ModelState));
            }

            var inventory = await _context.Inventory.FindAsync(id);

            if (inventory == null)
            {
                return(HttpResponseHelper.NotFound("No Inventory found."));
            }

            _context.Inventory.Remove(inventory);

            var error = await SaveChangesAsync();

            if (error != null)
            {
                return(error);
            }

            return(Ok(inventory));
        }
 public TripController()
 {
     _db = new ApplicationDbContext();
     _mngr = new TripManager(_db);
     _helper = new HttpResponseHelper<TripVM>(this);
     _errHelper = new HttpResponseHelper<HttpError>(this);
 }
        public async Task <IActionResult> Logout([FromRoute] Guid id)
        {
            if (!ModelState.IsValid)
            {
                return(HttpResponseHelper.BadRequest(ModelState));
            }

            var playerSession = await _context.Sessions.FindAsync(id);

            if (playerSession == null)
            {
                return(HttpResponseHelper.NotFound("No such Session found."));
            }

            playerSession.IsExpired = true;

            var error = await SaveChangesAsync();

            if (error != null)
            {
                return(error);
            }

            return(Ok(playerSession));
        }
        public async Task <IActionResult> DeleteReward([FromRoute] Guid id)
        {
            if (!ModelState.IsValid)
            {
                return(HttpResponseHelper.BadRequest(ModelState));
            }

            var reward = await _context.Rewards.FindAsync(id);

            if (reward == null)
            {
                return(HttpResponseHelper.NotFound("No Reward found."));
            }

            _context.Rewards.Remove(reward);

            var error = await SaveChangesAsync();

            if (error != null)
            {
                return(error);
            }

            return(Ok(reward));
        }
Example #15
0
        public HttpResponseMessage GetToken(string userId)
        {
            ResultMsg resultMsg = null;
            int       id        = 0;

            // verify incoming parameters.
            if (string.IsNullOrEmpty(userId) || (!int.TryParse(userId, out id)))
            {
                resultMsg            = new ResultMsg();
                resultMsg.StatusCode = (int)StatusCodeEnum.ParameterError;
                resultMsg.Info       = "参数错误";
                resultMsg.Data       = "";
                return(HttpResponseHelper.toJson(JsonConvert.SerializeObject(resultMsg)));
            }

            // insert cache
            Token token = (Token)HttpRuntime.Cache.Get(id.ToString());

            if (HttpRuntime.Cache.Get(id.ToString()) == null)
            {
                token            = new Token();
                token.Id         = id;
                token.SignToken  = Guid.NewGuid();
                token.ExpireTime = DateTime.Now.AddDays(1);
                HttpRuntime.Cache.Insert(token.Id.ToString(), token, null, token.ExpireTime, TimeSpan.Zero);
            }

            // return token
            resultMsg            = new ResultMsg();
            resultMsg.StatusCode = (int)StatusCodeEnum.Success;
            resultMsg.Info       = "";
            resultMsg.Data       = token;

            return(HttpResponseHelper.toJson(JsonConvert.SerializeObject(resultMsg)));
        }
Example #16
0
        /// <summary>
        /// 获得文件返回
        /// </summary>
        /// <param name="url"></param>
        /// <param name="IfModifiedSince"></param>
        /// <returns></returns>
        protected virtual async Task <IFullHttpResponse> GetFileResponseAsync(string url, ICharSequence IfModifiedSince)
        {
            if (url.StartsWith("/") || url.StartsWith(@"\"))
            {
                url = url.Substring(1);
            }
            string filePath  = Path.Combine(AppDomain.CurrentDomain.BaseDirectory ?? throw new DotNettyException("路径为空"), HtmlPageFolderPath, url);
            string extension = Path.GetExtension(filePath);

            if (string.IsNullOrEmpty(extension))
            {
                return(HttpResponseHelper.GetHttpResponse(HttpResponseStatus.NotFound));
            }
            if (!File.Exists(filePath))
            {
                return(HttpResponseHelper.GetHttpResponse(HttpResponseStatus.NotFound));
            }
            (FileCacheModel fileCacheModel, bool isCache) = await GetFileBytesAsync(filePath, IfModifiedSince);

            string contentType = MIMEManager.GetContentType(extension);
            Dictionary <AsciiString, object> headers = HttpResponseHelper.GetDefaultHeaders(contentType);

            headers.Add(HttpHeaderNames.LastModified, fileCacheModel.CacheTime);
            if (isCache)
            {
                return(HttpResponseHelper.GetHttpResponse(HttpResponseStatus.NotModified, headers));
            }
            headers.Add(HttpHeaderNames.Expires, DateTime.Now.AddSeconds(CacheSecond));
            headers.Add(HttpHeaderNames.CacheControl, $"max-age={CacheSecond}");
            return(HttpResponseHelper.GetHttpResponse(HttpResponseStatus.OK, fileCacheModel.Body, headers));
        }
        public async Task <IActionResult> DeleteAchievement([FromRoute] Guid id)
        {
            if (!ModelState.IsValid)
            {
                return(HttpResponseHelper.BadRequest(ModelState));
            }

            var achievement = await _context.Achievements.FindAsync(id);

            if (achievement == null)
            {
                return(HttpResponseHelper.NotFound("No Achievement found."));
            }

            _context.Achievements.Remove(achievement);

            var error = await SaveChangesAsync();

            if (error != null)
            {
                return(error);
            }

            return(Ok(achievement));
        }
        public async Task <IActionResult> DisableGroup([FromRoute] Guid id)
        {
            if (!ModelState.IsValid)
            {
                return(HttpResponseHelper.BadRequest(ModelState));
            }

            var group = await _context.Groups.FindAsync(id);

            if (group == null)
            {
                return(HttpResponseHelper.NotFound("No Group found."));
            }

            group.IsEnabled = false;

            var error = await SaveChangesAsync();

            if (error != null)
            {
                return(error);
            }

            return(Ok(group));
        }
Example #19
0
        public async Task <IActionResult> AddItemType([FromBody] ItemType itemType)
        {
            if (!ModelState.IsValid)
            {
                return(HttpResponseHelper.BadRequest(ModelState));
            }

            var type = await _context.ItemTypes.Where(t => t.Name.Equals(itemType.Name)).FirstOrDefaultAsync();

            if (type != null)
            {
                return(HttpResponseHelper.BadRequest("ItemType '" + itemType.Name + "' already exists."));
            }

            _context.ItemTypes.Add(itemType);

            var error = await SaveChangesAsync();

            if (error != null)
            {
                return(error);
            }

            return(CreatedAtRoute("GetItemType", new { id = itemType.Id }, itemType));
        }
        public async Task <IActionResult> UpdateMatch([FromRoute] Guid id, [FromBody] Match matchForm)
        {
            if (!ModelState.IsValid)
            {
                return(HttpResponseHelper.BadRequest(ModelState));
            }

            var match = await _context.Matches.Where(m => m.Id.Equals(id)).FirstOrDefaultAsync();

            if (match == null)
            {
                return(HttpResponseHelper.NotFound("No such Match found."));
            }

            _context.Entry(match).State = EntityState.Modified;
            match.Title          = matchForm.Title;
            match.ExpirationDate = matchForm.ExpirationDate;
            match.IsFinished     = matchForm.IsFinished;
            match.IsDeleted      = matchForm.IsDeleted;

            var error = await SaveChangesAsync();

            if (error != null)
            {
                return(error);
            }

            return(Ok(match));
        }
Example #21
0
 public EstablishmentsController(ILogger <EstablishmentsController> logger, EstablishmentService establishmentService, ControllerMessages responseMessages)
 {
     this.logger = logger;
     this.establishmentService = establishmentService;
     this.httpResponseHelper   = new HttpResponseHelper();
     this.responseMessages     = responseMessages;
 }
Example #22
0
        /// <summary>
        /// 处理Action过滤器
        /// </summary>
        /// <param name="request"></param>
        /// <param name="globalFilters"></param>
        /// <returns></returns>
        public async Task <IFullHttpResponse> HandlerActionBeforeFilterAsync(IFullHttpRequest request, params IFilter[] globalFilters)
        {
            IFullHttpResponse          response   = HttpResponseHelper.GetHttpResponse(HttpResponseStatus.OK);
            List <Attribute>           attributes = Action.GetCustomAttributes().ToList();
            List <IActionBeforeFilter> filters    = attributes.OfType <IActionBeforeFilter>().ToList();

            if (globalFilters != null && globalFilters.Length > 0)
            {
                filters.AddRange(globalFilters.OfType <IActionBeforeFilter>());
            }
            foreach (IActionBeforeFilter filter in filters)
            {
                filter.HandlerFilter(BaseController, this, request, ref response);
                if (response.Status.Code != HttpResponseStatus.OK.Code)
                {
                    return(response);
                }
            }
            List <IActionBeforeAsyncFilter> asyncFilters = attributes.OfType <IActionBeforeAsyncFilter>().ToList();

            if (globalFilters != null && globalFilters.Length > 0)
            {
                asyncFilters.AddRange(globalFilters.OfType <IActionBeforeAsyncFilter>());
            }
            foreach (IActionBeforeAsyncFilter filter in asyncFilters)
            {
                await filter.HandlerFilterAsync(BaseController, this, request, ref response);

                if (response.Status.Code != HttpResponseStatus.OK.Code)
                {
                    return(response);
                }
            }
            return(response);
        }
        private async Task <IEnumerable <LookupItem> > queryElastic(string accessor, int pageSize, int page, QueryType type, string query, bool caseSensitive = false)
        {
            var queryJson = ElasticHelper.GetQueryJson(pageSize, page, type, query);

            using (var client = new HttpClient(new HttpClientHandler {
                AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate
            }))
            {
                client.BaseAddress = _elasticUrl;
                var content = new StringContent(queryJson, Encoding.UTF8, "application/json");
                var r       = await client.PostAsync($"{accessor}/_search", content);

                if (r.StatusCode != HttpStatusCode.OK)
                {
                    throw new Exception($"Querying Elastic on {accessor}/_count with {queryJson} did not return OK - {r.StatusCode.ToString()} - {r.Content.ToString()}");
                }

                var resp = await HttpResponseHelper.ReadResponseContent <ElasticSearchResponse <ElasticLookupItem> >(r.Content);

                List <LookupItem> ret = new List <LookupItem>();
                if (resp.hits != null)
                {
                    resp.hits.hits.ToList().ForEach(x =>
                    {
                        ret.Add(new LookupItem(x._id.ToString(), x._source.doc.Label.ToString()));
                    });
                }

                return(ret.Count > 0 ? ret : null);
            }
        }
 public override void OnActionExecuting(HttpActionContext actionContext)
 {
     if (!actionContext.ModelState.IsValid)
     {
         HttpResponseHelper.CreateBadRequestResponse(actionContext, actionContext.ModelState);
     }
 }
        public IFullHttpResponse HandlerException(IByteBufferHolder byteBufferHolder, Exception exception)
        {
            ConsoleHelper.ServerWriteError(exception);
            ResultModel resultModel = ResultModel.Fail("服务器错误,请联系后端工程师");

            return(HttpResponseHelper.GetHttpResponse(HttpResponseStatus.OK, resultModel.ToJson()));
        }
 public LocationController()
 {
     _db = new ApplicationDbContext();
     _mngr = new LocationManager(_db);
     _helper = new HttpResponseHelper<LocationVM>(this);
     _errHelper = new HttpResponseHelper<HttpError>(this);
 }
 public StoryController()
 {
     _db = new ApplicationDbContext();
     _mngr = new StoryManager(_db);
     _helper = new HttpResponseHelper<StoryVM>(this);
     _errHelper = new HttpResponseHelper<HttpError>(this);
 }
Example #28
0
        public async Task <IActionResult> Unalliance([FromRoute] Guid allianceId)
        {
            if (session?.Player == null)
            {
                return(HttpResponseHelper.BadRequest("Error with your session."));
            }

            var actor = await _context.Actors.FindAsync(allianceId);

            if (actor == null)
            {
                return(HttpResponseHelper.NotFound("No such Actor found."));
            }

            var alliance =
                await _context.Alliances.Where(Alliance.IsAlliance(allianceId, session.Player.Id)).FirstOrDefaultAsync();

            if (alliance == null)
            {
                return(HttpResponseHelper.BadRequest("Alliance is not in list."));
            }

            _context.Alliances.Remove(alliance);

            var error = await SaveChangesAsync();

            if (error != null)
            {
                return(error);
            }

            return(Ok("Alliance Removed from the list."));
        }
Example #29
0
        public async Task <ICollection <Hit> > GetImagesAsync()
        {
            var composer = new HttpImageRequestComposer();

            if (!composer.IsCorrectRequest)
            {
                await HttpRequestComposer.DisplayAlertAsync();

                return(null);
            }

            var response = await _httpClient.GetAsync(composer.UrlRequest);

            if (!response.IsSuccessStatusCode)
            {
                var list = UnitOfWork.Hits.GetItems();
                if (list is not null)
                {
                    return(list);
                }
                HttpResponseHelper.DisplayNotSuccessfulStatusCodeAlert(response);
                return(null);
            }

            var content = await response.Content.ReadAsStringAsync();

            var hits = JsonSerializer.Deserialize <GalleryResponse>(content)?.Hits;

            UnitOfWork.Hits.SaveItems(hits);
            return(hits);
        }
 public SongController()
 {
     _db = new MusicPortalDbContext();
     _mngr = new SongManager(_db);
     _helper = new HttpResponseHelper<SongVM>(this);
     _heartpler = new HttpResponseHelper<HeartedSongVM>(this);
 }
Example #31
0
        /// <summary>
        /// 获取Json返回
        /// </summary>
        /// <param name="actionResult"></param>
        /// <returns></returns>
        protected virtual IFullHttpResponse GetJsonResponse(object actionResult)
        {
            Dictionary <AsciiString, object> headers = HttpResponseHelper.GetDefaultHeaders("application/json;charset=utf-8");
            IFullHttpResponse result = HttpResponseHelper.GetHttpResponse(HttpResponseStatus.OK, actionResult.ToJson(), headers);

            return(result);
        }
        public async Task <IActionResult> GetGoalDetailed([FromRoute] Guid id)
        {
            if (!ModelState.IsValid)
            {
                return(HttpResponseHelper.BadRequest(ModelState));
            }

            var goal = await _context.Goals.FindAsync(id);

            if (goal == null)
            {
                return(HttpResponseHelper.NotFound("No Goal found."));
            }
            goal.Concern = await _context.ConcernMatrix.FindAsync(goal.ConcernId);

            goal.RewardResource = await _context.RewardResourceMatrix.FindAsync(goal.RewardResourceId);

            goal.Feedback = await _context.GoalFeedback.FindAsync(goal.FeedbackId);

            goal.Roles = await _context.Roles.Where(r => r.GoalId.Equals(goal.Id)).ToListAsync();

            IList <Guid> activitiesIDs = goal.Roles.AsEnumerable().Select(r => r.ActivityId).ToList();

            goal.Activities =
                await _context.Activities.Where(a => activitiesIDs.Contains(a.Id)).OrderBy(a => a.Name).ToListAsync();

            goal.Rewards = await _context.Rewards.Where(r => r.GoalId.Equals(goal.Id)).ToListAsync();

            goal.Targets = await _context.Targets.Where(t => t.GoalId.Equals(goal.Id)).ToListAsync();

            goal.Actions = await _context.Actions.Where(a => a.GoalId.Equals(goal.Id)).ToListAsync();

            return(Ok(goal));
        }
        public async Task <IActionResult> GetMatchRounds([FromRoute] Guid id)
        {
            if (!ModelState.IsValid)
            {
                return(HttpResponseHelper.BadRequest(ModelState));
            }

            var match = await _context.Matches.Where(m => m.Id.Equals(id)).Include(m => m.Actors).FirstOrDefaultAsync();

            if (match == null)
            {
                return(HttpResponseHelper.NotFound("No such Match found."));
            }

            IList <Guid> matchActors = match.Actors.AsEnumerable().Select(a => a.Id).ToList();

            IList <MatchRound> matchRounds =
                await
                _context.MatchRounds.Where(r => matchActors.Contains(r.MatchActorId))
                .OrderBy(r => r.RoundNumber)
                .ToListAsync();

            IList <MatchRoundResponse> matchRoundResponse = new List <MatchRoundResponse>();

            foreach (var round in matchRounds)
            {
                var pushRound = false;
                var mRound    = matchRoundResponse.FirstOrDefault(r => r.RoundNumber.Equals(round.RoundNumber));
                if (mRound == null)
                {
                    mRound = new MatchRoundResponse
                    {
                        RoundNumber = round.RoundNumber,
                        Actors      = new List <MatchRoundActor>()
                    };

                    pushRound = true;
                }

                var actor = match.Actors.FirstOrDefault(a => a.Id.Equals(round.MatchActorId));
                if (actor != null)
                {
                    var matchRoundActor = new MatchRoundActor
                    {
                        ActorId   = actor.ActorId,
                        Score     = round.Score,
                        DateScore = round.DateScore
                    };

                    mRound.Actors.Add(matchRoundActor);
                }

                if (pushRound)
                {
                    matchRoundResponse.Add(mRound);
                }
            }

            return(Ok(matchRoundResponse));
        }
        public async Task <IActionResult> CreateGoal([FromBody] Goal goal)
        {
            if (!ModelState.IsValid)
            {
                return(HttpResponseHelper.BadRequest(ModelState));
            }

            if (goal.ConcernId != Guid.Empty)
            {
                var concerntest = await _context.ConcernMatrix.FindAsync(goal.ConcernId);

                if (concerntest == null)
                {
                    return(HttpResponseHelper.NotFound("No Concern found for the passed ID"));
                }
            }
            else if (goal.Concern == null)
            {
                return(HttpResponseHelper.NotFound("No Concern found"));
            }

            if (goal.RewardResourceId != Guid.Empty)
            {
                var rrtest = await _context.RewardResourceMatrix.FindAsync(goal.RewardResourceId);

                if (rrtest == null)
                {
                    return(HttpResponseHelper.NotFound("No RewardResource found for the passed ID"));
                }
            }
            else if (goal.RewardResource == null)
            {
                return(HttpResponseHelper.NotFound("No RewardResource found"));
            }

            if (goal.FeedbackId != Guid.Empty)
            {
                var fbtest = await _context.GoalFeedback.FindAsync(goal.FeedbackId);

                if (fbtest == null)
                {
                    return(HttpResponseHelper.NotFound("No GoalFeedback found for the passed ID"));
                }
            }
            else if (goal.Feedback == null)
            {
                return(HttpResponseHelper.NotFound("No GoalFeedback found"));
            }

            _context.Goals.Add(goal);

            var error = await SaveChangesAsync();

            if (error != null)
            {
                return(error);
            }

            return(CreatedAtRoute("GetGoalDetailed", new { id = goal.Id }, goal));
        }
        public async Task <IActionResult> FinishMatch([FromRoute] Guid id)
        {
            if (!ModelState.IsValid)
            {
                return(HttpResponseHelper.BadRequest(ModelState));
            }

            var match = await _context.Matches.FindAsync(id);

            if (match == null)
            {
                return(HttpResponseHelper.NotFound("No Match found."));
            }

            match.IsFinished = true;

            var error = await SaveChangesAsync();

            if (error != null)
            {
                return(error);
            }

            return(Ok(match));
        }
 public AccountController(ApplicationUserManager userManager,
     ISecureDataFormat<AuthenticationTicket> accessTokenFormat)
 {
     UserManager = userManager;
     AccessTokenFormat = accessTokenFormat;
     _db = new ApplicationDbContext();
     _mngr = new UserManager(_db);
     _helper = new HttpResponseHelper<UserInfoVM>(this);
     _errHelper = new HttpResponseHelper<HttpError>(this);
 }
        public HttpResponseMessage GetPlaylistFullFromUser()
        {
            HttpResponseMessage responseMsg;
            HttpResponseHelper<PlaylistVM> _helper = new HttpResponseHelper<PlaylistVM>(this);

            try
            {
                string userId = Microsoft.AspNet.Identity.IdentityExtensions.GetUserId(RequestContext.Principal.Identity);

                var playlists = _mngr.getPlaylistsFull(userId);
                responseMsg = _helper.CreateCustomResponseMsg(playlists.ToList(), HttpStatusCode.OK);

            }
            catch (Exception e)
            {
                responseMsg = _helper.CreateErrorResponseMsg(new HttpError(e.Message), HttpStatusCode.InternalServerError);
            }

            return responseMsg;
        }
 public UserController() {
     _mngr = new UserManager();
     _helper = new HttpResponseHelper<UserVM>(this);
     _songHelper = new HttpResponseHelper<SongVM>(this);
 }