コード例 #1
0
ファイル: AppointmentBl.cs プロジェクト: andreyu/Reports
        public CommentsModel GetCommentsModel(int id, RequestTypeEnum typeId)
        {
            CommentsModel commentModel = new CommentsModel
            {
                RequestId = id,
                RequestTypeId = (int)typeId,
                Comments = new List<RequestCommentModel>(),
                IsAddAvailable = /*AuthenticationService.CurrentUser.UserRole == UserRole.PersonnelManager &&*/ id > 0,
            };
            if (id == 0)
                return commentModel;
             switch (typeId)
             {
                 case RequestTypeEnum.Appointment:
                     Appointment entity = AppointmentDao.Load(id);
                     if ((entity.Comments != null) && (entity.Comments.Count() > 0))
                     {
                         commentModel.Comments = entity.Comments.OrderBy(x => x.DateCreated).ToList().
                             ConvertAll(x => new RequestCommentModel
                                                 {
                                                     Comment = x.Comment,
                                                     CreatedDate = x.DateCreated.ToString(),
                                                     Creator = x.User.FullName,
                                                 });
                     }
                     break;
                 case RequestTypeEnum.AppointmentReport:
                     AppointmentReport rep = AppointmentReportDao.Load(id);
                     if ((rep.Comments != null) && (rep.Comments.Count() > 0))
                     {
                         commentModel.Comments = rep.Comments.OrderBy(x => x.DateCreated).ToList().
                             ConvertAll(x => new RequestCommentModel
                             {
                                 Comment = x.Comment,
                                 CreatedDate = x.DateCreated.ToString(),
                                 Creator = x.User.FullName,
                             });
                     }
                     break;
                 default:
                     throw new ValidationException(string.Format(StrInvalidCommentType, (int)typeId));

            }
            return commentModel;
            //Vacation vacation = VacationDao.Load(id);
        }
コード例 #2
0
ファイル: HelpBl.cs プロジェクト: andreyu/Reports
        public CommentsModel GetCommentsModel(int id, RequestTypeEnum typeId)
        {
            bool isAddAvailable = id > 0;
            if (isAddAvailable)
            {
                if (typeId == RequestTypeEnum.HelpServiceRequest)
                {
                    HelpServiceRequest request = HelpServiceRequestDao.Load(id);
                    isAddAvailable =  (((CurrentUser.Id == request.Creator.Id) &&
                                        ((CurrentUser.UserRole & UserRole.Manager) == UserRole.Manager || (CurrentUser.UserRole & UserRole.ConsultantPersonnel) == UserRole.ConsultantPersonnel || (CurrentUser.UserRole & UserRole.Employee) == UserRole.Employee)) ||
                                        (request.Consultant != null &&
                                            CurrentUser.Id == request.Consultant.Id &&
                                            CurrentUser.UserRole == UserRole.ConsultantOutsourcing) ||
                                         (request.Consultant != null &&
                                            CurrentUser.Id == request.Consultant.Id &&
                                            CurrentUser.UserRole == UserRole.PersonnelManager) ||
                                         (request.Consultant != null &&
                                            CurrentUser.Id == request.Consultant.Id &&
                                            CurrentUser.UserRole == UserRole.ConsultantPersonnel)
                                        );
                }
            }
            CommentsModel commentModel = new CommentsModel
            {
                RequestId = id,
                RequestTypeId = (int)typeId,
                Comments = new List<RequestCommentModel>(),
                IsAddAvailable = isAddAvailable ,
            };
            if (id == 0)
                return commentModel;
            switch (typeId)
            {
                case RequestTypeEnum.HelpServiceRequest:
                    HelpServiceRequest entity = HelpServiceRequestDao.Load(id);
                    if ((entity.Comments != null) && (entity.Comments.Count() > 0))
                    {
                        commentModel.Comments = entity.Comments.OrderBy(x => x.DateCreated).ToList().
                            ConvertAll(x => new RequestCommentModel
                            {
                                Comment = x.Comment,
                                CreatedDate = x.DateCreated.ToString(),
                                Creator = x.User.FullName,
                            });
                    }
                    break;
                default:
                    throw new ValidationException(string.Format(AppointmentBl.StrInvalidCommentType, (int)typeId));

            }
            return commentModel;
        }