public async Task <IActionResult> PostAsync([FromBody] AwardEntity awardEntity)
        {
            try
            {
                if (string.IsNullOrEmpty(awardEntity?.AwardName))
                {
                    this.logger.LogError("Error while creating award details data in Microsoft Azure Table storage.");
                    return(this.BadRequest());
                }

                var claims = this.GetUserClaims();
                this.logger.LogInformation("Adding award");
                if (awardEntity.AwardId == null)
                {
                    awardEntity.AwardId   = Guid.NewGuid().ToString();
                    awardEntity.CreatedOn = DateTime.UtcNow;
                    awardEntity.CreatedBy = claims.FromId;
                }
                else
                {
                    awardEntity.ModifiedBy = claims.FromId;
                }

                return(this.Ok(await this.storageProvider.StoreOrUpdateAwardAsync(awardEntity)));
            }
            catch (Exception ex)
            {
                this.logger.LogError(ex, "Error while making call to award service.");
                throw;
            }
        }
        /// <summary>
        /// Store or update awards in table storage.
        /// </summary>
        /// <param name="awardEntity">Represents award entity used for storage and retrieval.</param>
        /// <returns><see cref="Task"/> that represents award entity is saved or updated.</returns>
        public async Task <AwardEntity> StoreOrUpdateAwardAsync(AwardEntity awardEntity)
        {
            await this.EnsureInitializedAsync();

            TableOperation addOrUpdateOperation = TableOperation.InsertOrReplace(awardEntity);
            var            result = await this.CloudTable.ExecuteAsync(addOrUpdateOperation);

            return(result.Result as AwardEntity);
        }
Пример #3
0
        public AwardEntity[] GenerateAward(string belongTo)
        {
            //var machine = DataContext.BuildAwardMachine();
            //machine.BelongTo = belongTo;
            //var ongoing = machine.GenerateAwardByPlan();
            //DataContext.Update(machine.Award);

            //var result = DataContext.BuildAwardEntity(ongoing);
            //return result;
            AwardEntity[] result = new AwardEntity[0];
            return(result);
        }
Пример #4
0
        public void UpdateAward(AwardEntity award)
        {
            var oldAward = GetAwardById(award.Id);

            if (oldAward == null)
            {
                CreateNewAward(award);
            }
            else
            {
                DeleteAwardById(oldAward.Id);
                CreateNewAward(award);
            }
        }
Пример #5
0
        public void CreateNewAward(AwardEntity award)
        {
            if (award == null)
            {
                throw new ArgumentNullException(nameof(award));
            }

            var awardName = "Award_" + award.Id + ".json";

            var awardStr = JsonConvert.SerializeObject(award);

            using (var writer = new StreamWriter(DataPath + awardName))
                writer.Write(awardStr);
        }
Пример #6
0
 public static AwardModel ToModel(AwardEntity awardEntity)
 {
     if (awardEntity == null)
     {
         return(null);
     }
     return(new AwardModel
     {
         Description = awardEntity.Description,
         Id = awardEntity.Id,
         Name = awardEntity.Name,
         ReceivedDate = awardEntity.ReceivedDate
     });
 }
Пример #7
0
        public static Award EntityToDomain(this AwardEntity award)
        {
            if (award == null)
            {
                return(null);
            }

            return(new Award
            {
                Id = award.Id,
                Title = award.Title,
                UsersAwarded = award.UsersAwarded
            });
        }
Пример #8
0
        public async Task <IActionResult> PostAsync([FromBody] AwardEntity awardEntity)
        {
            try
            {
                if (awardEntity == null)
                {
                    this.logger.LogError("Award entity is null.");
                    return(this.BadRequest(new { message = "Award entity can not be null." }));
                }

                if (string.IsNullOrEmpty(awardEntity.AwardName))
                {
                    this.logger.LogError("Award name is empty.");
                    return(this.BadRequest(new { message = "Award name can not be empty." }));
                }

                if (string.IsNullOrEmpty(awardEntity.AwardDescription))
                {
                    this.logger.LogError("Award description is empty.");
                    return(this.BadRequest(new { message = "Award description can not be empty." }));
                }

                var claims = this.GetUserClaims();
                this.logger.LogInformation("Adding award");
                if (awardEntity.AwardId == null)
                {
                    awardEntity.AwardId   = Guid.NewGuid().ToString();
                    awardEntity.CreatedOn = DateTime.UtcNow;
                    awardEntity.CreatedBy = claims.FromId;
                }
                else
                {
                    awardEntity.ModifiedBy = claims.FromId;
                }

                return(this.Ok(await this.storageProvider.StoreOrUpdateAwardAsync(awardEntity)));
            }
            catch (Exception ex)
            {
                this.logger.LogError(ex, "Error while making call to award service.");
                throw;
            }
        }
Пример #9
0
 public void Delete(AwardEntity award)
 {
     _context.Award.Remove(award);
 }
Пример #10
0
 public void Update(AwardEntity award)
 {
     _context.Entry(award).State = EntityState.Modified;
     _context.Award.Update(award);
 }
Пример #11
0
 public void Create(AwardEntity award)
 {
     _context.Award.Add(award);
 }