Ejemplo n.º 1
0
        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);
        }