public bool AddEditPremiosDocente(PremiosDocenteVM premiosDocenteVM)
        {
            bool resultado = false;
            PremiosDocenteDomainModel premiosDocenteDM      = new PremiosDocenteDomainModel();
            DocumentosDomainModel     documentosDomainModel = new DocumentosDomainModel();

            AutoMapper.Mapper.Map(premiosDocenteVM, premiosDocenteDM);///hacemos el mapeado de la entidad
            AutoMapper.Mapper.Map(premiosDocenteVM.DocumentosVM, documentosDomainModel);
            premiosDocenteDM.DocumentosDomainModel = documentosDomainModel;

            DocumentosDomainModel documento = IdocumentosBusiness.AddDocumento(documentosDomainModel);

            premiosDocenteDM.IdDocumento = documento.IdDocumento;
            resultado = IpremiosDocenteBusiness.AddPremiosDocente(premiosDocenteDM);
            return(resultado);
        }
        public bool AddEditDocumentosPersonales(DocumentacionPersonalVM documentacionPersonalVM)
        {
            bool resultado = false;

            DocumentacionPersonalDomainModel        documentacionPersonalDomainModel = new DocumentacionPersonalDomainModel();
            DocumentosDomainModel                   documentosDomainModel            = new DocumentosDomainModel();
            List <DocumentacionPersonalDomainModel> documentacion = new List <DocumentacionPersonalDomainModel>();
            List <DocumentosDomainModel>            documentos    = new List <DocumentosDomainModel>();

            if (documentacionPersonalVM.NumeroLicenciaManejoVM.DocumentosVM.StrUrl != null)
            {
                //Mapeo de la Licencia
                NumeroLicenciaManejoVM          numeroLicenciaManejoVM = documentacionPersonalVM.NumeroLicenciaManejoVM;
                NumeroLicenciaManejoDomainModel numeroLicenciaManejoDM = new NumeroLicenciaManejoDomainModel();
                DocumentosVM          documentosVM = numeroLicenciaManejoVM.DocumentosVM;
                DocumentosDomainModel documentosDM = new DocumentosDomainModel();

                //Mappeo de la Licencia
                AutoMapper.Mapper.Map(numeroLicenciaManejoVM, numeroLicenciaManejoDM); //Aqui
                AutoMapper.Mapper.Map(documentosVM, documentosDM);                     //Aqui

                DocumentacionPersonalDomainModel DocumentLicencia = new DocumentacionPersonalDomainModel();
                DocumentLicencia.NumeroLicenciaManejoDM = numeroLicenciaManejoDM;
                DocumentLicencia.strIdentificador       = numeroLicenciaManejoDM.strIdentificador;
                DocumentLicencia.strNumeroDocumento     = numeroLicenciaManejoDM.strNumeroDocumento;
                DocumentLicencia.dteVigenciaDocumento   = numeroLicenciaManejoDM.dteVigenciaDocumento;

                documentacion.Add(DocumentLicencia);
                documentos.Add(documentosDM);
            }

            if (documentacionPersonalVM.NumeroCartillaMilitarVM.DocumentosVM.StrUrl != null)
            {
                //Mapeo de la Cartilla
                NumeroCartillaMilitarVM          numeroCartillaMilitarVM = documentacionPersonalVM.NumeroCartillaMilitarVM;
                NumeroCartillaMilitarDomainModel numeroCartillaMilitarDM = new NumeroCartillaMilitarDomainModel();
                DocumentosVM          documentosVMCartilla = numeroCartillaMilitarVM.DocumentosVM;
                DocumentosDomainModel documentosDMCartilla = new DocumentosDomainModel();

                //Mapeo de la Cartilla
                AutoMapper.Mapper.Map(numeroCartillaMilitarVM, numeroCartillaMilitarDM);
                AutoMapper.Mapper.Map(documentosVMCartilla, documentosDMCartilla);

                DocumentacionPersonalDomainModel DocumentCartilla = new DocumentacionPersonalDomainModel();
                DocumentCartilla.NumeroCartillaMilitarDM = numeroCartillaMilitarDM;
                DocumentCartilla.strIdentificador        = numeroCartillaMilitarDM.strIdentificador;
                DocumentCartilla.strNumeroDocumento      = numeroCartillaMilitarDM.strNumeroDocumento;
                DocumentCartilla.dteVigenciaDocumento    = DateTime.MaxValue;

                documentacion.Add(DocumentCartilla);
                documentos.Add(documentosDMCartilla);
            }

            if (documentacionPersonalVM.NumeroPasaporteVM.DocumentosVM.StrUrl != null)
            {
                //Mapeo del Pasaporte
                NumeroPasaporteVM          numeroPasaporteVM = documentacionPersonalVM.NumeroPasaporteVM;
                NumeroPasaporteDomainModel numeroPasaporteDM = new NumeroPasaporteDomainModel();
                DocumentosVM          documentosVMPasaporte  = numeroPasaporteVM.DocumentosVM;
                DocumentosDomainModel documentosDMPasaporte  = new DocumentosDomainModel();

                //Mapeo de la Pasaporte
                AutoMapper.Mapper.Map(numeroPasaporteVM, numeroPasaporteDM);
                AutoMapper.Mapper.Map(documentosVMPasaporte, documentosDMPasaporte);

                DocumentacionPersonalDomainModel DocumentPasaporte = new DocumentacionPersonalDomainModel();
                DocumentPasaporte.NumeroPasaporteDM    = numeroPasaporteDM;
                DocumentPasaporte.strIdentificador     = numeroPasaporteDM.strIdentificador;
                DocumentPasaporte.strNumeroDocumento   = numeroPasaporteDM.strNumeroDocumento;
                DocumentPasaporte.dteVigenciaDocumento = numeroPasaporteDM.dteVigenciaDocumento;

                documentacion.Add(DocumentPasaporte);
                documentos.Add(documentosDMPasaporte);
            }

            if (documentacionPersonalVM.NumeroSeguridadSocialVM.DocumentosVM.StrUrl != null)
            {
                //Mapeo del Seguridad Social
                NumeroSeguridadSocialVM          numeroSeguridadSocialVM = documentacionPersonalVM.NumeroSeguridadSocialVM;
                NumeroSeguridadSocialDomainModel numeroSeguridadSocialDM = new NumeroSeguridadSocialDomainModel();
                DocumentosVM          documentosVMSeguridad = numeroSeguridadSocialVM.DocumentosVM;
                DocumentosDomainModel documentosDMSeguridad = new DocumentosDomainModel();

                //Mapeo de Seguridad Social
                AutoMapper.Mapper.Map(numeroSeguridadSocialVM, numeroSeguridadSocialDM);
                AutoMapper.Mapper.Map(documentosVMSeguridad, documentosDMSeguridad);

                DocumentacionPersonalDomainModel DocumentSeguridadSocial = new DocumentacionPersonalDomainModel();
                DocumentSeguridadSocial.NumeroSeguridadSocialDM = numeroSeguridadSocialDM;
                DocumentSeguridadSocial.strIdentificador        = numeroSeguridadSocialDM.strIdentificador;
                DocumentSeguridadSocial.strNumeroDocumento      = numeroSeguridadSocialDM.strNumeroDocumento;
                DocumentSeguridadSocial.dteVigenciaDocumento    = numeroSeguridadSocialDM.dteVigenciaDocumento;

                documentacion.Add(DocumentSeguridadSocial);
                documentos.Add(documentosDMSeguridad);
            }

            if (documentacionPersonalVM.NumeroVisaCanadaVM.DocumentosVM.StrUrl != null)
            {
                //Mapeo de Visa Canada
                NumeroVisaCanadaVM          numeroVisaCanadaVM = documentacionPersonalVM.NumeroVisaCanadaVM;
                NumeroVisaCanadaDomainModel numeroVisaCanadaDM = new NumeroVisaCanadaDomainModel();
                DocumentosVM          documentosVMVisaCanada   = numeroVisaCanadaVM.DocumentosVM;
                DocumentosDomainModel documentosDMVisaCanada   = new DocumentosDomainModel();

                //Mapeo de Visa Canada
                AutoMapper.Mapper.Map(numeroVisaCanadaVM, numeroVisaCanadaDM);
                AutoMapper.Mapper.Map(documentosVMVisaCanada, documentosDMVisaCanada);

                DocumentacionPersonalDomainModel DocumentVisaCanada = new DocumentacionPersonalDomainModel();
                DocumentVisaCanada.NumeroVisaCanadaDM   = numeroVisaCanadaDM;
                DocumentVisaCanada.strIdentificador     = numeroVisaCanadaDM.strIdentificador;
                DocumentVisaCanada.strNumeroDocumento   = numeroVisaCanadaDM.strNumeroDocumento;
                DocumentVisaCanada.dteVigenciaDocumento = numeroVisaCanadaDM.dteVigenciaDocumento;

                documentacion.Add(DocumentVisaCanada);
                documentos.Add(documentosDMVisaCanada);
            }

            if (documentacionPersonalVM.NumeroVisaUsaVM.DocumentosVM.StrUrl != null)
            {
                //Mapeo de Visa USA
                NumeroVisaUsaVM          numeroVisaUsaVM     = documentacionPersonalVM.NumeroVisaUsaVM;
                NumeroVisaUsaDomainModel numeroVisaUsaDM     = new NumeroVisaUsaDomainModel();
                DocumentosVM             documentosVMVisaUSA = numeroVisaUsaVM.DocumentosVM;
                DocumentosDomainModel    documentosDMVisaUSa = new DocumentosDomainModel();

                //Mapeo de Visa USA
                AutoMapper.Mapper.Map(numeroVisaUsaVM, numeroVisaUsaDM);
                AutoMapper.Mapper.Map(documentosVMVisaUSA, documentosDMVisaUSa);

                DocumentacionPersonalDomainModel DocumentVisaUSA = new DocumentacionPersonalDomainModel();
                DocumentVisaUSA.NumeroVisaUsaDM      = numeroVisaUsaDM;
                DocumentVisaUSA.strIdentificador     = numeroVisaUsaDM.strIdentificador;
                DocumentVisaUSA.strNumeroDocumento   = numeroVisaUsaDM.strNumeroDocumento;
                DocumentVisaUSA.dteVigenciaDocumento = numeroVisaUsaDM.dteVigenciaDocumento;

                documentacion.Add(DocumentVisaUSA);
                documentos.Add(documentosDMVisaUSa);
            }

            if (documentacionPersonalVM.RegistroProfEstatalVM.DocumentosVM.StrUrl != null)
            {
                //Mapeo Registro Estatal
                RegistroProfEstatalVM          registroProfEstatalVM = documentacionPersonalVM.RegistroProfEstatalVM;
                RegistroProfEstatalDomainModel registroProfEstatalDM = new RegistroProfEstatalDomainModel();
                DocumentosVM          documentosVMRegistroEstatal    = registroProfEstatalVM.DocumentosVM;
                DocumentosDomainModel documentosDMRegistroEstatal    = new DocumentosDomainModel();

                //Mapeo Registro Estatal
                AutoMapper.Mapper.Map(registroProfEstatalVM, registroProfEstatalDM);
                AutoMapper.Mapper.Map(documentosVMRegistroEstatal, documentosDMRegistroEstatal);

                DocumentacionPersonalDomainModel DocumentRegistroEstatal = new DocumentacionPersonalDomainModel();
                DocumentRegistroEstatal.RegistroProfEstatalDM = registroProfEstatalDM;
                DocumentRegistroEstatal.strIdentificador      = registroProfEstatalDM.strIdentificador;
                DocumentRegistroEstatal.strNumeroDocumento    = registroProfEstatalDM.strNumeroDocumento;
                DocumentRegistroEstatal.dteVigenciaDocumento  = registroProfEstatalDM.dteVigenciaDocumento;

                documentacion.Add(DocumentRegistroEstatal);
                documentos.Add(documentosDMRegistroEstatal);
            }

            if (documentacionPersonalVM.IfeVM.DocumentosVM.StrUrl != null)
            {
                //Mapeo Ife
                IfeVM                 ifeVM           = documentacionPersonalVM.IfeVM;
                IfeDomainModel        ifeDM           = new IfeDomainModel();
                DocumentosVM          documentosVMIfe = ifeVM.DocumentosVM;
                DocumentosDomainModel documentosDMIfe = new DocumentosDomainModel();

                //Mapeo Ife
                AutoMapper.Mapper.Map(ifeVM, ifeDM);
                AutoMapper.Mapper.Map(documentosVMIfe, documentosDMIfe);

                DocumentacionPersonalDomainModel DocumentIfe = new DocumentacionPersonalDomainModel();
                DocumentIfe.IfeDM                = ifeDM;
                DocumentIfe.strIdentificador     = ifeDM.strIdentificador;
                DocumentIfe.dteVigenciaDocumento = DateTime.MaxValue;

                documentacion.Add(DocumentIfe);
                documentos.Add(documentosDMIfe);
            }

            if (documentacionPersonalVM.ComprobanteDomicilioVM.DocumentosVM.StrUrl != null)
            {
                //Mapeo Comprobante Domicilio
                ComprobanteDomicilioVM          comprobanteDomicilioVM = documentacionPersonalVM.ComprobanteDomicilioVM;
                ComprobanteDomicilioDomainModel comprobanteDomicilioDM = new ComprobanteDomicilioDomainModel();
                DocumentosVM          documentosVMComprobante          = comprobanteDomicilioVM.DocumentosVM;
                DocumentosDomainModel documentosDMComprobante          = new DocumentosDomainModel();

                //Mapeo Comprobante Domicilio
                AutoMapper.Mapper.Map(comprobanteDomicilioVM, comprobanteDomicilioDM);
                AutoMapper.Mapper.Map(documentosVMComprobante, documentosDMComprobante);

                DocumentacionPersonalDomainModel DocumentComprobante = new DocumentacionPersonalDomainModel();
                DocumentComprobante.ComprobanteDomicilioDM = comprobanteDomicilioDM;
                DocumentComprobante.strIdentificador       = comprobanteDomicilioDM.strIdentificador;
                DocumentComprobante.dteVigenciaDocumento   = DateTime.MaxValue;

                documentacion.Add(DocumentComprobante);
                documentos.Add(documentosDMComprobante);
            }

            if (documentacionPersonalVM.SolicitudEmpleoVM.DocumentosVM.StrUrl != null)
            {
                //Mapeo Solicitud Empleo
                SolicitudEmpleoVM          solicitudEmpleoVM = documentacionPersonalVM.SolicitudEmpleoVM;
                SolicitudEmpleoDomainModel solicitudEmpleoDM = new SolicitudEmpleoDomainModel();
                DocumentosVM          documentosVMSolicitud  = solicitudEmpleoVM.DocumentosVM;
                DocumentosDomainModel documentosDMSolicitud  = new DocumentosDomainModel();

                //Mapeo Solicitud Empleo
                AutoMapper.Mapper.Map(solicitudEmpleoVM, solicitudEmpleoDM);
                AutoMapper.Mapper.Map(documentosVMSolicitud, documentosDMSolicitud);

                DocumentacionPersonalDomainModel DocumentSolicitud = new DocumentacionPersonalDomainModel();
                DocumentSolicitud.SolicitudEmpleoDM    = solicitudEmpleoDM;
                DocumentSolicitud.strIdentificador     = solicitudEmpleoDM.strIdentificador;
                DocumentSolicitud.dteVigenciaDocumento = DateTime.MaxValue;

                documentacion.Add(DocumentSolicitud);
                documentos.Add(documentosDMSolicitud);
            }

            foreach (DocumentosDomainModel item in documentos)
            {
                DocumentosDomainModel documento = IdocumentosBusiness.AddDocumento(item);

                foreach (DocumentacionPersonalDomainModel itemD in documentacion)
                {
                    itemD.idDocumento = documento.IdDocumento;
                    itemD.idPersonal  = SessionPersister.AccountSession.IdPersonal;
                    resultado         = IdocumentacionPersonalBusiness.AddDocumentacionPersonal(itemD);
                    documentacion.Remove(itemD);
                    break;
                }
            }
            return(resultado);
        }