Esempio n. 1
0
        public void AddEventData(EventViewModel eventData, int Userid, int OrganizationId)
        {
            Event evenT = Mapper.Map <EventDataModel, Event>(eventData.EventDataModel);

            evenT.AddedBy = Userid;
            if (evenT.EventID == 0)
            {
                evenT.OrganizationID = OrganizationId;
                base.Insert(evenT);
                if (eventData.IsAppointmnet)
                {
                    Appointment appointment = new Appointment();
                    appointment.EventId        = evenT.EventID;
                    appointment.Event          = evenT;
                    appointment.OrganizationID = OrganizationId;
                    this._IAppointmentRepository.Add(appointment, Userid, OrganizationId);
                }
            }
            else
            {
                base.Update(evenT);
            }
            _unitOfWork.Save();
            if (evenT.EventID > 0)
            {
                base.RepositoryContext.SP_DeleteEventAgenda(evenT.EventID, OrganizationId);
                base.RepositoryContext.SP_DeleteEventAttendees(evenT.EventID, OrganizationId);
            }

            foreach (EventAttendeeDataModel model in eventData.EventAttendeeDataModel)
            {
                var data = Mapper.Map <EventAttendeeDataModel, EventAttendee>(model);
                //data.Event = evenT;
                data.EventID        = evenT.EventID;
                data.OrganizationId = OrganizationId;
                _IEventAttendeeRepository.Add(data, Userid, OrganizationId);
            }
            foreach (AgendaDataModel model in eventData.AgendaDataModel)
            {
                model.SourceID = evenT.EventID;
                var data = Mapper.Map <AgendaDataModel, Agendum>(model);
                data.OrganizationID = OrganizationId;
                _IAgendaRepository.Add(data, Userid, OrganizationId);
            }
            foreach (ActionDataModel model in eventData.ActionDataModel)
            {
                model.SourceID = evenT.EventID;
                var data = Mapper.Map <ActionDataModel, Angular2_AspDotNet.Data.Action>(model);
                if (model.ActionID == 0)
                {
                    data.OrganizationID = OrganizationId;
                    _IActionRepository.Add(data, Userid, OrganizationId);
                }
                else
                {
                    _IActionRepository.Update(data, Userid, OrganizationId);
                    base.RepositoryContext.Sp_DeleteActionResponsiblePerson(model.ActionID);
                }
                foreach (ActionResponsiblePersonDataModel resposibleModel in model.ActionResponsiblePersonDataModel)
                {
                    var childData = Mapper.Map <ActionResponsiblePersonDataModel, ActionResponsiblePerson>(resposibleModel);
                    childData.Action         = data;
                    childData.AddedBy        = LoggedInUserID;
                    childData.OrganizationId = OrganizationId;
                    _IActionResponsiblePersonRepository.Add(childData, Userid, OrganizationId);
                }
            }
            _unitOfWork.Save();
        }