예제 #1
0
        public int CreateActivity(int editionId, ActivityModel activityModel)
        {
            var isValidData = ValidateNewActivityData(activityModel, editionId);

            if (!isValidData)
            {
                return(0);
            }

            var status = _unitOfWork.ActivityStatusRepository.GetById((int)ActivityStatusEnum.PEN);

            activityModel.StatusId = status.Id;

            var activity = ActivityMapper.Map(activityModel);

            activity.EditionId      = editionId;
            activity.CreateDateTime = DateTime.Now;

            // Add logging

            try
            {
                _unitOfWork.ActivityRepository.Insert(activity);
                _unitOfWork.ActivityRepository.Save();
            }
            catch (Exception e)
            {
                return(0);
            }

            return(1);
        }
예제 #2
0
        public List <ActivityModel> GetLastThreeActivities(int edition)
        {
            var activeStatus = _unitOfWork.ActivityStatusRepository
                               .GetById((int)ActivityStatusEnum.ACT);

            var currentEdition = _unitOfWork.EditionRepository
                                 .GetById(edition);

            if (currentEdition == null || activeStatus == null)
            {
                return(null);
            }

            var activities = _unitOfWork.ActivityRepository
                             .GetLastThreeActivities(activeStatus.Id, currentEdition.Id, ACTIVITIESINHOME);

            if (activities == null || activities.Count == 0)
            {
                return(null);
            }

            var models = new List <ActivityModel>();

            foreach (var act in activities)
            {
                models.Add(ActivityMapper.Map(act));
            }

            return(models);
        }
예제 #3
0
        public List <ActivityDto> GetPendingActivities(int editionId)
        {
            var penActivities = _activityDomainService.GetPendingActivities(editionId);

            var result = new List <ActivityDto>();

            foreach (var act in penActivities)
            {
                result.Add(ActivityMapper.Map(act));
            }

            return(result);
        }
예제 #4
0
        public int UpdateActivity(ActivityModel activityModel)
        {
            var activity = ActivityMapper.Map(activityModel);

            try
            {
                _unitOfWork.ActivityRepository.Update(activity);
                _unitOfWork.ActivityRepository.Save();
            }
            catch (Exception)
            {
                return(0);
            }

            return(1);
        }
예제 #5
0
        public List <ActivityDto> GetLastThreeActivities(int editionId)
        {
            var activities = _activityDomainService.GetLastThreeActivities(editionId);

            if (activities == null || activities.Count == 0)
            {
                return(null);
            }

            var dtos = new List <ActivityDto>();

            foreach (var act in activities)
            {
                dtos.Add(ActivityMapper.Map(act));
            }

            return(dtos);
        }
예제 #6
0
        public ActivityFilteredResultModel GetActiveActivitiesFiltered(int type, int edition,
                                                                       string title, int currentPage)
        {
            int activitiesPerPage = 10;

            var activeStatus = _unitOfWork.ActivityStatusRepository
                               .GetById((int)ActivityStatusEnum.ACT);

            var currentEdition = _unitOfWork.EditionRepository
                                 .GetById(edition);

            if (currentEdition == null || activeStatus == null)
            {
                return(null);
            }

            int skipByPagination = (currentPage - 1) * activitiesPerPage;

            var activities = _unitOfWork.ActivityRepository
                             .GetActiveActivitiesFiltered(activeStatus.Id, type, currentEdition.Id,
                                                          title, skipByPagination, activitiesPerPage);

            var models = new List <ActivityModel>();

            foreach (var act in activities)
            {
                models.Add(ActivityMapper.Map(act));
            }

            int totalActivities = _unitOfWork.ActivityRepository
                                  .GetTotalActivities(activeStatus.Id, type, currentEdition.Id, title);

            double actsPerPage = totalActivities / activitiesPerPage;
            var    totalPages  = (int)Math.Ceiling(actsPerPage);

            var result = new ActivityFilteredResultModel
            {
                Activities  = models,
                CurrentPage = currentPage,
                TotalPages  = totalPages
            };

            return(result);
        }
예제 #7
0
        public List <ActivityModel> GetPendingActivities(int editionId)
        {
            var pendingStatus = _unitOfWork.ActivityStatusRepository
                                .GetById((int)ActivityStatusEnum.PEN);

            if (pendingStatus == null)
            {
                return(null);
            }

            var activities = _unitOfWork.ActivityRepository
                             .GetActivitiesByStatus(editionId, pendingStatus.Id);

            var models = new List <ActivityModel>();

            foreach (var act in activities)
            {
                models.Add(ActivityMapper.Map(act));
            }

            return(models);
        }
예제 #8
0
        public int UpdateActivity(ActivityDto activityDto)
        {
            var activityModel = ActivityMapper.Map(activityDto);

            return(_activityDomainService.UpdateActivity(activityModel));
        }
예제 #9
0
        public int CreateActivity(int editionId, ActivityDto activityDto)
        {
            var activityModel = ActivityMapper.Map(activityDto);

            return(_activityDomainService.CreateActivity(editionId, activityModel));
        }