public object EditDailyActivity(EditDailyActivityViewModel editDailyActivityViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, new BaseResponse(ResponseStatus.ValidationError.ToString(), ModelState.Values.ToList()[0].Errors[0].ErrorMessage)));
            }

            CurrentUserInfo currentUserInfo = _tokenHelper.GetUserInfo();

            if (!_dailyActivityLogic.IsDailyActivityExist(editDailyActivityViewModel.ProjectId, editDailyActivityViewModel.DailyActivityId))
            {
                return(Request.CreateResponse(HttpStatusCode.NotFound, new BaseResponse(ResponseStatus.Notfound.ToString(), ResponseMessagesModel.DailyActiviyNotFound)));
            }

            if (_projectLogic.GetUserRoleInProject(currentUserInfo.Id, editDailyActivityViewModel.ProjectId) == UserRole.Collaborator &&
                !_dailyActivityLogic.IsDailyActivityCreatedBy(currentUserInfo.Id, editDailyActivityViewModel.DailyActivityId))
            {
                return(Request.CreateResponse(HttpStatusCode.MethodNotAllowed, new BaseResponse(ResponseStatus.ValidationError.ToString(), ResponseMessagesModel.PermissionDenied)));
            }

            DailyActivityData dailyActivityData =
                EditDailyActivityViewModel.GetDailyActivityData(editDailyActivityViewModel);

            _dailyActivityLogic.Edit(dailyActivityData);

            return(Request.CreateResponse(HttpStatusCode.OK, new BaseResponse(ResponseStatus.Success.ToString(),
                                                                              ResponseMessagesModel.Success)));
        }
Пример #2
0
        public List <DailyActivityData> GetDateRange(int userId, string start, string end, int timeZoneOffset)
        {
            List <DailyActivityData> list = null;
            string procName = "[dbo].[ActivityEntries_SelectRangebyUserIdV3]";

            _dataProvider.ExecuteCmd(procName
                                     , inputParamMapper : delegate(SqlParameterCollection paramCollection)
            {
                paramCollection.AddWithValue("@UserId", userId);
                paramCollection.AddWithValue("@Start", start);
                paramCollection.AddWithValue("@End", end);
                paramCollection.AddWithValue("@TimeZoneOffset", timeZoneOffset);
            }
                                     , singleRecordMapper : delegate(IDataReader reader, short set)
            {
                DailyActivityData activityData = new DailyActivityData();
                activityData.TotalWalkTime     = reader.GetSafeInt32(0);
                activityData.TotalDistance     = reader.GetSafeDouble(1);
                activityData.Date = reader.GetSafeDateTime(2);

                if (list == null)
                {
                    list = new List <DailyActivityData>();
                }

                list.Add(activityData);
            }
                                     );

            return(list);
        }
Пример #3
0
        public void Add(DailyActivityData dailyActivityData)
        {
            _unitOfWork.BeginTransaction();

            _dailyActivityRepository.Create(dailyActivityData);

            _unitOfWork.Commit();
        }
        public object GetDailyActivity(Guid projectId, Guid dailyActivityId)
        {
            CurrentUserInfo currentUserInfo = _tokenHelper.GetUserInfo();

            if (!_projectLogic.IsProjectExist(currentUserInfo.Id, projectId))
            {
                return(Request.CreateResponse(HttpStatusCode.NotFound, new BaseResponse(ResponseStatus.Notfound.ToString(), ResponseMessagesModel.ProjectNotFound)));
            }

            DailyActivityData dailyActivityData = _dailyActivityLogic.GetDailyActivity(dailyActivityId);

            return(Request.CreateResponse(HttpStatusCode.OK, new BaseResponse(ResponseStatus.Success.ToString(),
                                                                              ResponseMessagesModel.Success, DailyActivityViewModel.GetDailyActivityViewModel(dailyActivityData))));
        }
Пример #5
0
 public static DailyActivityViewModel GetDailyActivityViewModel(DailyActivityData dailyActivityData)
 {
     return(new DailyActivityViewModel
     {
         Id = dailyActivityData.Id,
         ProjectId = dailyActivityData.ProjectData.Id,
         CreatedById = dailyActivityData.CreatedBy.Id,
         ReportDate = dailyActivityData.ReportDate,
         Title = dailyActivityData.Title,
         WorkloadUnit = dailyActivityData.WorkloadUnit,
         Description = dailyActivityData.Description,
         NumberOfCrew = dailyActivityData.NumberOfCrew,
         WorkHours = dailyActivityData.WorkHours,
         Workload = dailyActivityData.Workload
     });
 }
        public object CreateDailyActivity(CreateDailyActivityViewModel createDailyActivityViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, new BaseResponse(ResponseStatus.ValidationError.ToString(), ModelState.Values.ToList()[0].Errors[0].ErrorMessage)));
            }

            CurrentUserInfo currentUserInfo = _tokenHelper.GetUserInfo();

            DailyActivityData dailyActivityData =
                CreateDailyActivityViewModel.GetDailyActivityData(currentUserInfo.Id, createDailyActivityViewModel);

            _dailyActivityLogic.Add(dailyActivityData);

            return(Request.CreateResponse(HttpStatusCode.OK, new BaseResponse(ResponseStatus.Success.ToString(),
                                                                              ResponseMessagesModel.Success)));
        }
Пример #7
0
        public void Edit(DailyActivityData dailyActivityData)
        {
            _unitOfWork.BeginTransaction();

            DailyActivityData currentDailyActivityData = _dailyActivityRepository.GetById(dailyActivityData.Id);

            currentDailyActivityData.Description  = dailyActivityData.Description;
            currentDailyActivityData.NumberOfCrew = dailyActivityData.NumberOfCrew;
            currentDailyActivityData.Title        = dailyActivityData.Title;
            currentDailyActivityData.WorkHours    = dailyActivityData.WorkHours;
            currentDailyActivityData.Workload     = dailyActivityData.Workload;
            currentDailyActivityData.WorkloadUnit = dailyActivityData.WorkloadUnit;
            currentDailyActivityData.ModifiedDate = DateTime.Now;

            _dailyActivityRepository.Update(currentDailyActivityData);

            _unitOfWork.Commit();
        }