public ActionResult DeleteHistorialAcademico(int _idHistorial, int _idType)
        {
            HistorialAcademicoVM historialAcademicoVM = new HistorialAcademicoVM();

            switch (_idType)
            {
            case 1:
                DoctoradoDomainModel doctoradoDomainModel = doctoradoBusiness.GetDoctorado(_idHistorial);
                historialAcademicoVM.Doctorado = new DoctoradoVM();
                AutoMapper.Mapper.Map(doctoradoDomainModel, historialAcademicoVM.Doctorado);
                historialAcademicoVM.Type = 1;
                break;

            case 2:
                MaestriaDomainModel maestriaDomainModel = maestriaBusiness.GetMaestria(_idHistorial);
                historialAcademicoVM.Maestria = new MaestriaVM();
                AutoMapper.Mapper.Map(maestriaDomainModel, historialAcademicoVM.Maestria);
                historialAcademicoVM.Type = 2;
                break;

            case 3:
                LicenciaturaIngenieriaDomainModel licenciaturaIngenieriaDomainModel = licenciaturaIngBusiness.GetLicenciaturaIng(_idHistorial);
                historialAcademicoVM.LicenciaturaIngenieria = new LicenciaturaIngenieriaVM();
                AutoMapper.Mapper.Map(licenciaturaIngenieriaDomainModel, historialAcademicoVM.LicenciaturaIngenieria);
                historialAcademicoVM.Type = 3;
                break;

            case 4:
                BachilleratoDomainModel bachilleratoDomainModel = bachilleratoBusiness.GetBachilleratos(_idHistorial);
                historialAcademicoVM.Bachillerato = new BachilleratoVM();
                AutoMapper.Mapper.Map(bachilleratoDomainModel, historialAcademicoVM.Bachillerato);
                historialAcademicoVM.Type = 4;
                break;

            default:
                break;
            }

            return(PartialView("_Eliminar", historialAcademicoVM));
        }
        public Object[] CrearDocumentoPersonales(HistorialAcademicoVM historialAcademicoVM)
        {
            Object[] respuesta = new Object[2];
            historialAcademicoVM.idPersonal = SessionPersister.AccountSession.IdPersonal;
            string nombrecompleto = SessionPersister.AccountSession.NombreCompleto;
            string path           = Path.Combine(Server.MapPath(Recursos.RecursosSistema.DOCUMENTO_USUARIO + nombrecompleto));

            if (Directory.Exists(path))
            {
                if (historialAcademicoVM.Documentos.DocumentoFile != null)
                {
                    respuesta = FileManager.FileManager.CheckFileIfExist(path, historialAcademicoVM.Documentos);
                }
            }
            else
            {
                Directory.CreateDirectory(path);
                CrearDocumentoPersonales(historialAcademicoVM);
            }

            return(respuesta);
        }
        public ActionResult Create(HistorialAcademicoVM historialAcademicoVM)
        {
            DocumentosProfesionalesDomainModel documentosProfesional = new DocumentosProfesionalesDomainModel();

            Object[] obj = { };
            int      id  = 0;

            switch (historialAcademicoVM.Type)
            {
            case 1:
                for (int i = 0; i < historialAcademicoVM.DocumentosPosted.Length; i++)
                {
                    historialAcademicoVM.Documentos = new DocumentosVM {
                        DocumentoFile = historialAcademicoVM.DocumentosPosted[i]
                    };
                    obj = CrearDocumentoPersonales(historialAcademicoVM);

                    if (obj[0].Equals(true))
                    {
                        HistorialAcademicoDomainModel historialAcademicoDM = new HistorialAcademicoDomainModel();
                        AutoMapper.Mapper.Map(historialAcademicoVM, historialAcademicoDM);
                        historialAcademicoDM.Documentos.StrUrl = obj[1].ToString();

                        if (id == 0)
                        {
                            id = doctoradoBusiness.AddDoctorado(historialAcademicoDM);
                        }
                        documentosProfesional.idDoctorado = id;
                        documentosProfesional.strNombre   = obj[1].ToString();
                        documentosProfesional.Type        = 1;
                        documentosProfesionales.AddDocumentosProfesionales(documentosProfesional);
                    }
                }
                break;

            case 2:
                for (int i = 0; i < historialAcademicoVM.DocumentosPosted.Length; i++)
                {
                    historialAcademicoVM.Documentos = new DocumentosVM {
                        DocumentoFile = historialAcademicoVM.DocumentosPosted[i]
                    };
                    obj = CrearDocumentoPersonales(historialAcademicoVM);

                    if (obj[0].Equals(true))
                    {
                        HistorialAcademicoDomainModel historialAcademicoDM = new HistorialAcademicoDomainModel();
                        AutoMapper.Mapper.Map(historialAcademicoVM, historialAcademicoDM);
                        historialAcademicoDM.Documentos.StrUrl = obj[1].ToString();

                        if (id == 0)
                        {
                            id = maestriaBusiness.AddMaestria(historialAcademicoDM);
                        }
                        documentosProfesional.idMaestria = id;
                        documentosProfesional.strNombre  = obj[1].ToString();
                        documentosProfesional.Type       = 2;
                        documentosProfesionales.AddDocumentosProfesionales(documentosProfesional);
                    }
                }
                break;

            case 3:
                for (int i = 0; i < historialAcademicoVM.DocumentosPosted.Length; i++)
                {
                    historialAcademicoVM.Documentos = new DocumentosVM {
                        DocumentoFile = historialAcademicoVM.DocumentosPosted[i]
                    };
                    obj = CrearDocumentoPersonales(historialAcademicoVM);

                    if (obj[0].Equals(true))
                    {
                        HistorialAcademicoDomainModel historialAcademicoDM = new HistorialAcademicoDomainModel();
                        AutoMapper.Mapper.Map(historialAcademicoVM, historialAcademicoDM);
                        historialAcademicoDM.Documentos.StrUrl = obj[1].ToString();

                        if (id == 0)
                        {
                            id = licenciaturaIngBusiness.AddLicenciaturaIng(historialAcademicoDM);
                        }
                        documentosProfesional.idLicenciaturaIng = id;
                        documentosProfesional.strNombre         = obj[1].ToString();
                        documentosProfesional.Type = 3;
                        documentosProfesionales.AddDocumentosProfesionales(documentosProfesional);
                    }
                }
                break;

            case 4:

                for (int i = 0; i < historialAcademicoVM.DocumentosPosted.Length; i++)
                {
                    historialAcademicoVM.Documentos = new DocumentosVM {
                        DocumentoFile = historialAcademicoVM.DocumentosPosted[i]
                    };
                    obj = CrearDocumentoPersonales(historialAcademicoVM);

                    if (obj[0].Equals(true))
                    {
                        HistorialAcademicoDomainModel historialAcademicoDM = new HistorialAcademicoDomainModel();
                        AutoMapper.Mapper.Map(historialAcademicoVM, historialAcademicoDM);
                        historialAcademicoDM.Documentos.StrUrl = obj[1].ToString();

                        if (id == 0)
                        {
                            id = licenciaturaIngBusiness.AddLicenciaturaIng(historialAcademicoDM);
                        }
                        documentosProfesional.idLicenciaturaIng = id;
                        documentosProfesional.strNombre         = obj[1].ToString();
                        documentosProfesional.Type = 4;
                        documentosProfesionales.AddDocumentosProfesionales(documentosProfesional);
                    }
                }

                break;

            case 5:
                for (int i = 0; i < historialAcademicoVM.DocumentosPosted.Length; i++)
                {
                    historialAcademicoVM.Documentos = new DocumentosVM {
                        DocumentoFile = historialAcademicoVM.DocumentosPosted[i]
                    };
                    obj = CrearDocumentoPersonales(historialAcademicoVM);

                    if (obj[0].Equals(true))
                    {
                        HistorialAcademicoDomainModel historialAcademicoDM = new HistorialAcademicoDomainModel();
                        AutoMapper.Mapper.Map(historialAcademicoVM, historialAcademicoDM);
                        historialAcademicoDM.Documentos.StrUrl = obj[1].ToString();

                        if (id == 0)
                        {
                            id = bachilleratoBusiness.addBachillerato(historialAcademicoDM);
                        }
                        if (id != 0)
                        {
                            documentosProfesional.idBachillerato = id;
                            documentosProfesional.strNombre      = obj[1].ToString();
                            documentosProfesional.Type           = 5;
                            documentosProfesionales.AddDocumentosProfesionales(documentosProfesional);
                        }
                    }
                }
                break;

            default:
                break;
            }
            return(RedirectToAction("Create", "HistorialAcademico"));
        }
        public ActionResult Delete(HistorialAcademicoVM historialAcademicoVM)
        {
            HistorialAcademicoDomainModel historialAcademicoDomainModel = new HistorialAcademicoDomainModel();
            string url;

            switch (historialAcademicoVM.Type)
            {
            case 1:

                historialAcademicoDomainModel.Doctorado = new DoctoradoDomainModel();

                historialAcademicoDomainModel.Doctorado = doctoradoBusiness.GetDoctorado(historialAcademicoVM.Doctorado.id);
                foreach (var item in historialAcademicoDomainModel.Doctorado.DocumentosProfesionales)
                {
                    url = Server.MapPath(Recursos.RecursosSistema.DOCUMENTO_USUARIO + SessionPersister.AccountSession.NombreCompleto + "/" + item.strNombre);
                    FileManager.FileManager.DeleteFileFromServer(url);
                }
                doctoradoBusiness.DeleteDoctorado(historialAcademicoDomainModel);
                break;

            case 2:
                historialAcademicoDomainModel.Maestria = new MaestriaDomainModel();

                historialAcademicoDomainModel.Maestria = maestriaBusiness.GetMaestria(historialAcademicoVM.Maestria.id);
                foreach (var item in historialAcademicoDomainModel.Maestria.DocumentosProfesionales)
                {
                    url = Server.MapPath(Recursos.RecursosSistema.DOCUMENTO_USUARIO + SessionPersister.AccountSession.NombreCompleto + "/" + item.strNombre);
                    FileManager.FileManager.DeleteFileFromServer(url);
                }
                maestriaBusiness.DeleteMaestria(historialAcademicoDomainModel);
                break;

            case 3:
                historialAcademicoDomainModel.LicenciaturaIngenieria = new LicenciaturaIngenieriaDomainModel();

                historialAcademicoDomainModel.LicenciaturaIngenieria = licenciaturaIngBusiness.GetLicenciaturaIng(historialAcademicoVM.LicenciaturaIngenieria.id);
                foreach (var item in historialAcademicoDomainModel.LicenciaturaIngenieria.DocumentosProfesionales)
                {
                    url = Server.MapPath(Recursos.RecursosSistema.DOCUMENTO_USUARIO + SessionPersister.AccountSession.NombreCompleto + "/" + item.strNombre);
                    FileManager.FileManager.DeleteFileFromServer(url);
                }
                licenciaturaIngBusiness.DeleteLicenciarturaIng(historialAcademicoDomainModel);
                break;

            case 4:

                historialAcademicoDomainModel.Bachillerato = new BachilleratoDomainModel();

                historialAcademicoDomainModel.Bachillerato = bachilleratoBusiness.GetBachilleratos(historialAcademicoVM.Bachillerato.id);
                foreach (var item in historialAcademicoDomainModel.Bachillerato.DocumentosProfesionales)
                {
                    url = Server.MapPath(Recursos.RecursosSistema.DOCUMENTO_USUARIO + SessionPersister.AccountSession.NombreCompleto + "/" + item.strNombre);
                    FileManager.FileManager.DeleteFileFromServer(url);
                }
                bachilleratoBusiness.DeleteBachillerato(historialAcademicoDomainModel);
                break;

            default:
                break;
            }

            return(RedirectToAction("Create", "HistorialAcademico"));
        }