public Meeting GetById(int id)
        {
            MM_Meeting meetingDbModel = _meetingDbContext.MM_Meetings.FirstOrDefault(r => r.Id == id);

            if (meetingDbModel == null)
            {
                throw new EntityNotFoundException <Meeting>(id);
            }
            Console.WriteLine("Log Event got by id.");

            return(meetingDbModel.ConvertToMeeting());
        }
        public void Update(Meeting meeting)
        {
            MM_Meeting meetingDbModel = _meetingDbContext.MM_Meetings.Find(meeting.Id);

            if (meetingDbModel == null)
            {
                throw new EntityNotFoundException <Meeting>((int)meeting.Id);
            }

            meetingDbModel.MeetingStatus = (int)meeting.StatusType;
            if (meeting.StatusType == MeetingStatusType.Ended)
            {
                meetingDbModel.EndDateTime = DateTime.UtcNow;
            }
            else
            {
                meetingDbModel.EndDateTime       = null;
                meetingDbModel.MeetingLocationId = meeting.Location.Id;
                meetingDbModel.MeetingStatus     = (int)meeting.StatusType;
                meetingDbModel.StartDateTime     = meeting.StartDate;// meeting.StartDate;
                //meetingDbModel.EndDateTime = meeting.EndDate;//meeting.EndDate;
                meetingDbModel.Subject = meeting.Subject;

                IList <MM_MeetingMember> meetingMembers = meetingDbModel.MM_MeetingMember.Select(x => x).ToList();

                //Add meeting members.
                foreach (MeetingMember member in meeting.Members)
                {
                    MM_MeetingMember meetingMemberDbModel = new MM_MeetingMember()
                    {
                        UserId   = member.Id,
                        MemberAs = (int)member.MemberAs
                    };
                    meetingDbModel.MM_MeetingMember.Add(meetingMemberDbModel);
                }
            }
            try
            {
                _meetingDbContext.SaveChanges();
            }
            catch (Exception ex)
            {
                throw new UpdateFailedException <Meeting>((int)meeting.Id);
            }
            Console.WriteLine("Log Event is Updated.");
        }
Пример #3
0
 public static Meeting ConvertToMeeting(this MM_Meeting meetingDbModel)
 {
     return(new Meeting()
     {
         Id = meetingDbModel.Id,
         EndDate = meetingDbModel.EndDateTime.GetValueOrDefault(),
         StartDate = meetingDbModel.StartDateTime.GetValueOrDefault(),
         Location = meetingDbModel.MM_MeetingLocation.ConvertToMeetingLocation(),
         StatusType = (MeetingStatusType)meetingDbModel.MeetingStatus,
         Subject = meetingDbModel.Subject,
         CreatedDate = meetingDbModel.CreatedDate.GetValueOrDefault(),
         CreatedUser = meetingDbModel.MM_User.ConvertToUser(),
         Members = meetingDbModel.MM_MeetingMember.Select(x => x.ConvertToMeetingMembers()).ToList(),
         Titles = meetingDbModel.MM_Agenda.Select(x => x.ConvertToAgendas()).ToList(),
         ParentMeeting = meetingDbModel.ParentMeetingId == null ? null : new Meeting()
         {
             Id = (int)meetingDbModel.Id
         },
         //Where(y=>y.HeadingId==null).
     });
 }
        public void Delete(int id)
        {
            MM_Meeting meetingDbModel = _meetingDbContext.MM_Meetings.FirstOrDefault(x => x.Id == id);

            if (meetingDbModel == null)
            {
                throw new EntityNotFoundException <Meeting>(id);
            }

            _meetingDbContext.MM_Meetings.Remove(meetingDbModel);
            try
            {
                _meetingDbContext.SaveChanges();
            }
            catch (Exception ex)
            {
                throw new DeleteFailedException <Meeting>(id);
            }


            Console.WriteLine("Log Event  is Deleted.");
        }
        public int Add(Meeting meeting)
        {
            MM_Meeting meetingDbModel = new MM_Meeting()
            {
                CreatedDate       = DateTime.UtcNow,
                CreatedUserId     = meeting.CreatedUser.Id,
                MeetingLocationId = meeting.Location.Id,
                MeetingStatus     = (int)meeting.StatusType,
                StartDateTime     = meeting.StartDate, //meeting.StartDate,
                EndDateTime       = null,              //meeting.EndDate,//DateTime.UtcNow,//meeting.EndDate,
                Subject           = meeting.Subject,
                ParentMeetingId   = meeting.ParentMeeting == null ? (int?)null : meeting.ParentMeeting.Id
            };

            _meetingDbContext.MM_Meetings.Add(meetingDbModel);

            foreach (MeetingMember memberMember in meeting.Members)
            {
                MM_MeetingMember meetingMemberDbModel = new MM_MeetingMember()
                {
                    UserId   = memberMember.Id,
                    MemberAs = (int)memberMember.MemberAs
                };
                meetingDbModel.MM_MeetingMember.Add(meetingMemberDbModel);
            }



            foreach (Agenda title in meeting.Titles)
            {
                int parentOrderId = 0;
                if (title.Heading == null)
                {
                    MM_Agenda agenda = new MM_Agenda()
                    {
                        Title    = title.Title,
                        SerialId = title.SerialId,
                        OrderId  = title.OrderId,
                    };
                    int childOrderId = 0;
                    foreach (Agenda subtitle in title.SubTitles)
                    {
                        MM_Agenda subTitle = new MM_Agenda()
                        {
                            Title    = subtitle.Title,
                            SerialId = subtitle.SerialId,
                            OrderId  = subtitle.OrderId,
                        };
                        agenda.MM_Agenda1.Add(subTitle);
                    }


                    meetingDbModel.MM_Agenda.Add(agenda);
                }
            }



            try
            {
                _meetingDbContext.SaveChanges();
            }
            catch (Exception ex)
            {
                throw new AddFailedException <Meeting>();
            }


            Console.WriteLine("Log Item is Added.");

            return(meetingDbModel.Id);
        }