public void ChangeMeet(MeetDto dto)
        {
            if (string.IsNullOrEmpty(dto.Id))
            {
                throw new ArgumentNullException(ExMessage.MustNotBeNullOrEmpty(nameof(dto.Id)));
            }
            var meet = _repository.First(dto.Id);

            meet.Subject = dto.Subject;
            meet.Body    = dto.Body;
            //meet.StartTime = dto.StartTime;
            //meet.EndTime = dto.EndTime;
            meet.Place        = dto.Place;
            meet.NeedFeedback = dto.NeedFeedback;
            meet.ModifiedTime = DateTime.Now;

            meet.StartTime = dto.StartTime.Date.AddHours(dto.StartHour).AddMinutes(dto.StartMinute);
            if (dto.EndTime != null && dto.EndHour != null && dto.EndMinute != null)
            {
                meet.EndTime = dto.EndTime.Value.Date.AddHours(dto.EndHour.Value).AddMinutes(dto.EndMinute.Value);
            }

            //更新签收信息
            meet.MeetSignfors.Clear();
            var signors = new EntitySet <MeetSignfor>();

            foreach (var signor in dto.Signors)
            {
                if (signors.Any(i => i.SignorId == signor.Key))
                {
                    continue;
                }

                var newMeetSignfor = new MeetSignfor
                {
                    Id           = ConfigHelper.NewGuid,
                    SignorId     = signor.Key,
                    SignorType   = (int)MeetSignorType.Org, //暂时默认内部
                    IsRemind     = false,
                    State        = (int)MeetSignforState.WaitSign,
                    ModifiedTime = DateTime.Now
                };

                signors.Add(newMeetSignfor);
            }
            meet.MeetSignfors.AddRange(signors);

            _unitOfWork.Commit();
        }
        public string AddMeet(MeetDto dto)
        {
            //add meet
            var meet = Mapper.Map <Meet>(dto);

            meet.State     = (int)MeetState.WaitActivate;
            meet.StartTime = dto.StartTime.Date.AddHours(dto.StartHour).AddMinutes(dto.StartMinute);
            if (dto.EndTime != null && dto.EndHour != null && dto.EndMinute != null)
            {
                meet.EndTime = dto.EndTime.Value.Date.AddHours(dto.EndHour.Value).AddMinutes(dto.EndMinute.Value);
            }
            //add signfors
            var signors = new EntitySet <MeetSignfor>();

            foreach (var signor in dto.Signors)
            {
                if (signors.Any(i => i.SignorId == signor.Key))
                {
                    continue;
                }

                var newMeetSignfor = new MeetSignfor
                {
                    Id           = ConfigHelper.NewGuid,
                    SignorId     = signor.Key,
                    SignorType   = (int)MeetSignorType.Org, //暂时默认内部
                    IsRemind     = false,
                    State        = (int)MeetSignforState.WaitSign,
                    ModifiedTime = DateTime.Now
                };

                signors.Add(newMeetSignfor);
            }
            meet.MeetSignfors = signors;
            _repository.Add(meet);

            return(dto.Id);
        }