Beispiel #1
0
        public IActionResult CreateReward([FromBody] CreateRewardOptions options)//landingpage
        {
            var result = rewardService_.CreateReward(options);

            if (result.Success)
            {
                return(Json(result.Data));
            }
            return(StatusCode((int)result.ErrorCode, result.ErrorText));
        }
Beispiel #2
0
        public Result <Reward> CreateReward(int rewardPackageId,
                                            CreateRewardOptions options)
        {
            if (options == null)
            {
                return(Result <Reward> .ActionFailed(
                           StatusCode.BadRequest, "Null options"));
            }

            if (string.IsNullOrWhiteSpace(options.Name))
            {
                return(Result <Reward> .ActionFailed(
                           StatusCode.BadRequest, "Null or empty Name"));
            }

            var rewardPackage = context_
                                .Set <RewardPackage>()
                                .Include(x => x.Rewards)
                                .Where(rp => rp.RewardPackageId == rewardPackageId)
                                .SingleOrDefault();

            if (rewardPackage == null)
            {
                return(Result <Reward> .ActionFailed(
                           StatusCode.BadRequest, "Invalid Reward Package"));
            }

            var reward = new Reward()
            {
                Name = options.Name
            };

            rewardPackage.Rewards.Add(reward);

            var rows = 0;

            try
            {
                rows = context_.SaveChanges();
            }
            catch (Exception ex)
            {
                return(Result <Reward> .ActionFailed(
                           StatusCode.InternalServerError, ex.ToString()));
            }

            if (rows <= 0)
            {
                return(Result <Reward> .ActionFailed(
                           StatusCode.InternalServerError,
                           "Reward could not be created"));
            }

            return(Result <Reward> .ActionSuccessful(reward));
        }
        public IActionResult Create(int id, [FromBody] CreateRewardOptions options)
        {
            var result = rewardService.CreateReward(id, options);

            if (!result.Success)
            {
                return(StatusCode((int)result.ErrorCode,
                                  result.ErrorText));
            }

            return(Json(result.Data));
        }
Beispiel #4
0
        public Result <Reward> AddRewardToList(CreateRewardOptions options)
        {
            if (options == null)
            {
                return(Result <Reward> .ActionFailed(
                           StatusCode.BadRequest, "Null options"));
            }

            if (string.IsNullOrWhiteSpace(options.Name))
            {
                return(Result <Reward> .ActionFailed(
                           StatusCode.BadRequest, "Null or empty Name"));
            }

            var reward = new Reward()
            {
                Name = options.Name
            };

            context_.Add(reward);

            var rows = 0;

            try
            {
                rows = context_.SaveChanges();
            }
            catch (Exception ex)
            {
                return(Result <Reward> .ActionFailed(
                           StatusCode.InternalServerError, ex.ToString()));
            }

            if (rows <= 0)
            {
                return(Result <Reward> .ActionFailed(
                           StatusCode.InternalServerError,
                           "Reward could not be created"));
            }

            return(Result <Reward> .ActionSuccessful(reward));
        }
        public Result <Reward> CreateReward(CreateRewardOptions options)
        {
            if (options == null)
            {
                return(Result <Reward> .CreateFailed(StatusCode.BadRequest, "Null options"));
            }
            var project = projectService_.GetProjectById(options.ProjectId).Data;

            if (project == null)
            {
                return(Result <Reward> .CreateFailed(StatusCode.BadRequest, $"Project with {options.ProjectId} was not found"));
            }

            var reward = new Reward()
            {
                Title       = options.Title,
                Description = options.Description,
                Price       = options.Price,
                ProjectId   = options.ProjectId,
            };

            if (!reward.IsValidDescription(options.Description) ||
                !reward.IsValidTitle(options.Title) ||
                !reward.IsValidPrice(options.Price))
            {
                return(Result <Reward> .CreateFailed(StatusCode.BadRequest, "Please check the validations"));
            }
            project.AvailableRewards.Add(reward);

            if (context_.SaveChanges() <= 0)
            {
                return(Result <Reward> .CreateFailed(
                           StatusCode.InternalServerError,
                           "Reward could not be created"));
            }

            return(Result <Reward> .CreateSuccessful(reward));
        }