Beispiel #1
0
        public async Task <IHttpActionResult> PostUserActivity(ViewModels.UserActivityX dto)
        {
            // return Ok(client);
            if (dto == null)
            {
                return(Exceptions.getNullException(ModelState));
            }
            if (!ModelState.IsValid)
            {
                // return BadRequest(ModelState);
                return(Exceptions.getModelValidationException(ModelState));
            }
            var validate = unitOfWork.UserActivityRepository.Validate(dto);

            if (validate.Code != HttpStatusCode.OK)
            {
                return(validate);
            }
            var entity = new UserActivity();

            unitOfWork.UserActivityRepository.Insert(entity);
            ViewModels.UserActivityX.Fill(entity, dto);

            if (dto.IsMain)
            {
                var entity2 = await unitOfWork.UserActivityRepository.GetMenuHitsByDto(dto);

                if (entity2 == null)
                {
                    entity2 = new UserActivityMenuHit();
                    unitOfWork.UserActivityRepository.Insert(entity2);
                    ViewModels.UserActivityMenuHitX.FillByUserActivityDto(entity2, dto);
                }
                else
                {
                    entity2.Hit++;
                    entity2.DateLastHit = DateTime.Now;
                }
            }



            var saveResult = await unitOfWork.SaveAsync();

            if (saveResult.Code != HttpStatusCode.OK)
            {
                return(saveResult);
            }



            return(Ok(dto));
        }
Beispiel #2
0
 public virtual void Insert(UserActivityMenuHit entity)
 {
     this.context.UserActivityMenuHits.Add(entity);
 }