public void FillEntity(EfMeeting entity, MettingJson domainObject)
        {
            entity.ID            = Guid.Parse(domainObject.ID);
            entity.Title         = domainObject.Title;
            entity.Description   = domainObject.Description;
            entity.FinishTime    = domainObject.FinishTime;
            entity.StartTime     = domainObject.StartTime;
            entity.HaveMinuts    = domainObject.HaveMinuts;
            entity.TarikhSabt    = domainObject.TarikhSabt;
            entity.TarikhMetting = domainObject.TarikhMetting;
            entity.DateSabt      = DateTime.Parse(domainObject.MeetingDate);
            entity.PlaceID       = Guid.Parse(domainObject.PlaceID);

            entity.IsRevoke  = domainObject.IsRevoke;
            entity.IsDeleted = domainObject.IsDeleted;
            entity.Agenda    = domainObject.Agenda;
            entity.IsHeld    = domainObject.IsHeld;

            //foreach (var user in domainObject.Inviteds)

            //    entity.RelatedUsers.Add(new EfMeetingUserRel() { ID = Guid.NewGuid(), MeetingId = (Guid)domainObject.ID, UserID = (Guid)user.ID, IsGetInFormed = false });

            //foreach (var user in domainObject.Getinformeds)
            //    entity.RelatedUsers.Add(new EfMeetingUserRel() { ID = Guid.NewGuid(), MeetingId = (Guid)domainObject.ID, UserID = (Guid)user.ID, IsGetInFormed = true });


            entity.SecretaryUserId = Guid.Parse(domainObject.SecretaryUserId);

            entity.RegistrerUserId   = Guid.Parse(domainObject.RegistrerUserID);
            entity.MeetingTemplateID = Guid.Parse(domainObject.MeetingTemplateID);
            entity.UnitID            = Guid.Parse(domainObject.UnitID);
        }
        public EfMeeting ToEntity(MettingJson domainObject)
        {
            var entity = new EfMeeting();

            FillEntity(entity, domainObject);
            return(entity);
        }
        public void addAlertMetting(List <AlertJson> listalert, MettingJson _MettingJson)
        {
            foreach (AlertJson _AlertJson in listalert)
            {
                _AlertJson.MeetingId     = _MettingJson.ID;
                _AlertJson.ID            = Guid.NewGuid().ToString();
                _AlertJson.IsSent        = "false";
                _AlertJson.AlertOrCansel = "1";
                _AlertJson.AlarmDate     = Utilities.GetMiladiDate(_AlertJson.AlarmTarikh).ToString();
                _AlertJson.SendStatus    = "ثبت شده";
                if (_AlertJson.AlarmType == "SMS")
                {
                    _AlertJson.AlarmType = "1";
                }
                else
                {
                    _AlertJson.AlarmType = "2";
                }
                if (_AlertJson.DatabaseOrErsalOrHoshdar != "1")
                {
                    AlertTranslator  _AlertTranslator  = new AlertTranslator();
                    AlertsRepository _AlertsRepository = new AlertsRepository();

                    _AlertsRepository.Add(_AlertTranslator.ToEntity(_AlertJson));
                }
            }
        }
        public string SaveMetting(MettingJson _MettingJson, List <AlertJson> ListAlertJson, List <MeetingUserRelJson> MeetingUserRelJson)
        {
            string            result             = "";
            MettingRepository _MettingRepository = new MettingRepository();
            MeetingTranslator _MeetingTranslator = new MeetingTranslator();

            if (_MettingJson.ID == "")
            {
                _MettingJson.ID            = Guid.NewGuid().ToString();
                _MettingJson.MeetingDate   = DateTime.Now.ToString();
                _MettingJson.TarikhSabt    = Utilities.GetPersianDate(DateTime.Now);
                _MettingJson.ParentGroh    = _MettingJson.ID;
                _MettingJson.TarikhMetting = _MettingJson.TarikhMetting;

                _MettingRepository.Add(_MeetingTranslator.ToEntity(_MettingJson));
                AddMeetingUserRel(MeetingUserRelJson, _MettingJson);
                addAlertMetting(ListAlertJson, _MettingJson);
            }
            else
            {
                _MettingJson.TarikhSabt    = Utilities.GetPersianDate(DateTime.Now);
                _MettingJson.ParentGroh    = _MettingJson.ID;
                _MettingJson.MeetingDate   = DateTime.Now.ToString();
                _MettingJson.TarikhMetting = _MettingJson.TarikhMetting;

                _MettingRepository.Update(_MeetingTranslator.ToEntity(_MettingJson));
                AddMeetingUserRel(MeetingUserRelJson, _MettingJson);
                addAlertMetting(ListAlertJson, _MettingJson);
            }

            return(result);
        }
        public string SaveMetting(MettingJson _MettingJson, List <AlertJson> _AlertJson, List <MeetingUserRelJson> _MeetingUserRelJson)
        {
            var    result   = "";
            string Fullname = UserNmae();

            SPSecurity.RunWithElevatedPrivileges(delegate()
            {
                MettingBLL _MettingBLL = new MettingBLL();
                _MettingBLL.SaveMetting(_MettingJson, _AlertJson, _MeetingUserRelJson);
            });
            return(result);
        }
        public void AddMeetingUserRel(List <MeetingUserRelJson> MeetingUserRel, MettingJson MettingJson)
        {
            foreach (MeetingUserRelJson _MeetingUserRelJson in MeetingUserRel)
            {
                _MeetingUserRelJson.MeetingId = MettingJson.ID;
                _MeetingUserRelJson.UserId    = _MeetingUserRelJson.ID;
                _MeetingUserRelJson.ID        = Guid.NewGuid().ToString();
                MeetingUserRelTranslator _MeetingTranslator        = new MeetingUserRelTranslator();
                MeetingUserRelRepository _MeetingUserRelRepository = new MeetingUserRelRepository();

                _MeetingUserRelRepository.Add(_MeetingTranslator.ToEntity(_MeetingUserRelJson));
            }
        }
        public MettingJson ToDomainObject(EfMeeting entity)
        {
            MettingJson meeting = new MettingJson();

            meeting.ID          = entity.ID.ToString();
            meeting.Title       = entity.Title;
            meeting.Description = entity.Description;
            meeting.FinishTime  = entity.FinishTime;
            meeting.StartTime   = entity.StartTime;
            meeting.HaveMinuts  = entity.HaveMinuts;
            //  meeting.MeetingDate = entity.MeetingDate.;
            meeting.PlaceAddress = new MeetingPlaceTranslator().ToDomainObject(entity.Place).PlaceAddress;
            meeting.PlaceID      = new MeetingPlaceTranslator().ToDomainObject(entity.Place).ID;
            // meeting.RegDate = entity.RegDate;
            meeting.SecretaryFullName = new UserTranslator().ToDomainObject(entity.Secretary).UserName;
            meeting.SecretaryUserId   = new UserTranslator().ToDomainObject(entity.Secretary).ID;
            meeting.RegistrerUserID   = new UserTranslator().ToDomainObject(entity.RegistrerUser).ID;
            meeting.TarikhMetting     = entity.TarikhMetting;

            meeting.RegistrerFullName = new UserTranslator().ToDomainObject(entity.RegistrerUser).UserName;
            meeting.TarikhSabt        = entity.TarikhSabt;

            meeting.UnitID            = new UnitTranslator().ToDomainObject(entity.Unit).ID;
            meeting.MeetingTemplateID = new MeetingTemplateTranslator().ToDomainObject(entity.MeetingTemplate).ID;

            //  meeting.AddAttachments(new DocumentTranslator().ToDomainObjects(entity.Attachments));
            meeting.Agenda = entity.Agenda;
            // meeting.AddAlerts(new AlertTranslator().ToDomainObjects(entity.Alerts));
            meeting.IsHeld = entity.IsHeld;
            //if (entity.IsRevoke)
            //    meeting.RevokeMeeting();

            //foreach (var relUser in entity.RelatedUsers)
            //{
            //    var user = new UserTranslator().ToDomainObject(relUser.User);
            //    if (relUser.IsGetInFormed)
            //        meeting.AddGetinformed(user);
            //    else
            //        meeting.Addinvited(user);
            //}

            return(meeting);
        }