Example #1
0
        //POST: Requisiciones/Edit/5
        //To protect from over//POSTing attacks, please enable the specific properties you want to bind to, for
        //more details see http:go.microsoft.com/fwlink/?LinkId=317598.
        //==============================================================================**************************************====================================

        private DatosProfesionalesArray IntArray(List <V_DatosRequisicion> DataDB)
        {
            List <int> Competencias  = new List <int>();
            List <int> Habilidades   = new List <int>();
            List <int> Idiomas       = new List <int>();
            List <int> Titulos       = new List <int>();
            List <int> RequisitosEsp = new List <int>();

            DatosProfesionalesArray P = new DatosProfesionalesArray();

            foreach (V_DatosRequisicion D in DataDB)
            {
                if (D.TipoDato == "C")
                {
                    Competencias.Add(D.Data_Id);
                }

                if (D.TipoDato == "H")
                {
                    Habilidades.Add(D.Data_Id);
                }

                if (D.TipoDato == "I")
                {
                    Idiomas.Add(D.Data_Id);
                }

                if (D.TipoDato == "T")
                {
                    Titulos.Add(D.Data_Id);
                }

                if (D.TipoDato == "R")
                {
                    RequisitosEsp.Add(D.Data_Id);
                }
            }

            P.Competencias  = Competencias.ToArray();
            P.Habilidades   = Habilidades.ToArray();
            P.Idiomas       = Idiomas.ToArray();
            P.Titulos       = Titulos.ToArray();
            P.ReqEspeciales = RequisitosEsp.ToArray();

            return(P);
        }
Example #2
0
        public ActionResult Edit(tbRequisiciones tbRequisiciones, DatosProfesionalesArray DatosProfesionales)
        {
            var msj = "";

            try
            {
                using (db = new ERP_GMEDINAEntities())
                {
                    string ResultI = "";
                    string ResultE = "";
                    var    _list   = db.UDP_RRHH_tbRequisiciones_Update(tbRequisiciones.req_Id, tbRequisiciones.req_Experiencia, tbRequisiciones.req_Sexo, tbRequisiciones.req_Descripcion, tbRequisiciones.req_EdadMinima, tbRequisiciones.req_EdadMaxima, tbRequisiciones.req_EstadoCivil, tbRequisiciones.req_EducacionSuperior, tbRequisiciones.req_Permanente, tbRequisiciones.req_Duracion, tbRequisiciones.req_Vacantes, tbRequisiciones.req_NivelEducativo, Function.DatetimeNow(), tbRequisiciones.req_FechaContratacion, (int)Session["UserLogin"], Function.DatetimeNow());
                    foreach (UDP_RRHH_tbRequisiciones_Update_Result Update in _list)
                    {
                        msj = Update.MensajeError + "";
                        if (msj != "")
                        {
                            var lista = db.V_DatosProfesionales.Select(tabla => new { TipoDato = tabla.TipoDato, Id = tabla.Data_Id, Descripcion = tabla.Descripcion }).ToList();
                            foreach (var X in lista)
                            {
                                string Nuevo = null;
                                switch (X.TipoDato)
                                {
                                case "C":
                                    var CompV = db.tbCompetenciasRequisicion.Select(c => new { comp_Id = c.comp_Id, Descripcion = c.tbCompetencias.comp_Descripcion, req_Id = c.req_Id, creq_Id = c.creq_Id, creq_Estado = c.creq_Estado }).Where(c => c.req_Id == tbRequisiciones.req_Id && c.comp_Id == X.Id && c.creq_Estado == true).ToList();
                                    if (DatosProfesionales.Competencias != null)
                                    {
                                        foreach (var x in DatosProfesionales.Competencias)
                                        {
                                            if (x == X.Id)
                                            {
                                                Nuevo = "1";
                                            }
                                            else if (Nuevo != "1")
                                            {
                                                Nuevo = null;
                                            }
                                        }
                                    }
                                    if (CompV.Count == 0 && Nuevo == "1")
                                    {
                                        var Competencias = db.rrhh_tbCompetenciasRequisicion_Insert(tbRequisiciones.req_Id, X.Id, (int)Session["UserLogin"], Function.DatetimeNow());
                                        foreach (rrhh_tbCompetenciasRequisicion_Insert_Result Com in Competencias)
                                        {
                                            ResultI = Com.MensajeError + "";
                                        }
                                    }
                                    if (CompV.Count >= 1 && Nuevo == null)
                                    {
                                        foreach (var c in CompV)
                                        {
                                            var Competencias = db.rrhh_tbCompetenciasRequisicion_Delete(c.creq_Id, (int)Session["UserLogin"], Function.DatetimeNow());
                                            foreach (rrhh_tbCompetenciasRequisicion_Delete_Result Com in Competencias)
                                            {
                                                ResultE = Com.MensajeError + "";
                                            }
                                        }
                                    }
                                    break;

                                case "H":
                                    var habV = db.tbHabilidadesRequisicion.Select(h => new { habi_Id = h.habi_Id, req_Id = h.req_Id, hreq_Id = h.hreq_Id, hreq_Estado = h.hreq_Estado }).Where(c => c.req_Id == tbRequisiciones.req_Id && c.habi_Id == X.Id && c.hreq_Estado == true).ToList();
                                    if (DatosProfesionales.Habilidades != null)
                                    {
                                        foreach (var x in DatosProfesionales.Habilidades)
                                        {
                                            if (x == X.Id)
                                            {
                                                Nuevo = "1";
                                            }
                                            else if (Nuevo != "1")
                                            {
                                                Nuevo = null;
                                            }
                                        }
                                    }
                                    if (habV.Count == 0 && Nuevo == "1")
                                    {
                                        var Habilidades = db.rrhh_tbHabilidadesRequisicion_Insert(tbRequisiciones.req_Id, X.Id, (int)Session["UserLogin"], Function.DatetimeNow());
                                        foreach (rrhh_tbHabilidadesRequisicion_Insert_Result hab in Habilidades)
                                        {
                                            ResultI = hab.MensajeError + "";
                                        }
                                    }
                                    if (habV.Count >= 1 && Nuevo == null)
                                    {
                                        foreach (var h in habV)
                                        {
                                            var Habilidades = db.rrhh_tbHabilidadesRequisicion_Delete(h.hreq_Id, (int)Session["UserLogin"], Function.DatetimeNow());
                                            foreach (rrhh_tbHabilidadesRequisicion_Delete_Result Com in Habilidades)
                                            {
                                                ResultE = Com.MensajeError + "";
                                            }
                                        }
                                    }
                                    break;

                                case "I":
                                    var IdiV = db.tbIdiomasRequisicion.Select(i => new { idi_Id = i.idi_Id, Descripcion = i.tbIdiomas.idi_Descripcion, req_Id = i.req_Id, idpe_Id = i.ireq_Id, ireq_Estado = i.ireq_Estado }).Where(i => i.req_Id == tbRequisiciones.req_Id && i.idi_Id == X.Id && i.ireq_Estado == true).ToList();
                                    if (DatosProfesionales.Idiomas != null)
                                    {
                                        foreach (var x in DatosProfesionales.Idiomas)
                                        {
                                            if (x == X.Id)
                                            {
                                                Nuevo = "1";
                                            }
                                            else if (Nuevo != "1")
                                            {
                                                Nuevo = null;
                                            }
                                        }
                                    }
                                    if (IdiV.Count == 0 && Nuevo == "1")
                                    {
                                        var Idiomas = db.rrhh_tbIdiomasRequisicion_Insert(tbRequisiciones.req_Id, X.Id, (int)Session["UserLogin"], Function.DatetimeNow());
                                        foreach (rrhh_tbIdiomasRequisicion_Insert_Result idi in Idiomas)
                                        {
                                            ResultI = idi.MensajeError + "";
                                        }
                                    }
                                    if (IdiV.Count >= 1 && Nuevo == null)
                                    {
                                        foreach (var i in IdiV)
                                        {
                                            var Idiomas = db.rrhh_tbIdiomasRequisicion_Delete(i.idpe_Id, (int)Session["UserLogin"], Function.DatetimeNow());
                                            foreach (rrhh_tbIdiomasRequisicion_Delete_Result idio in Idiomas)
                                            {
                                                ResultE = idio.MensajeError + "";
                                            }
                                        }
                                    }
                                    break;

                                case "T":
                                    var TitV = db.tbTitulosRequisicion.Select(t => new { titu_Id = t.titu_Id, Descripcion = t.tbTitulos.titu_Descripcion, req_Id = t.req_Id, tipe_Id = t.treq_Id, treq_Estado = t.treq_Estado }).Where(t => t.req_Id == tbRequisiciones.req_Id && t.titu_Id == X.Id && t.treq_Estado == true).ToList();
                                    if (DatosProfesionales.Titulos != null)
                                    {
                                        foreach (var x in DatosProfesionales.Titulos)
                                        {
                                            if (x == X.Id)
                                            {
                                                Nuevo = "1";
                                            }
                                            else if (Nuevo != "1")
                                            {
                                                Nuevo = null;
                                            }
                                        }
                                    }
                                    if (TitV.Count == 0 && Nuevo == "1")
                                    {
                                        var Titulos = db.rrhh_tbTitulosRequisicion_Insert(tbRequisiciones.req_Id, X.Id, (int)Session["UserLogin"], Function.DatetimeNow());
                                        foreach (rrhh_tbTitulosRequisicion_Insert_Result titu in Titulos)
                                        {
                                            ResultI = titu.MensajeError + "";
                                        }
                                    }
                                    if (TitV.Count >= 1 && Nuevo == null)
                                    {
                                        foreach (var t in TitV)
                                        {
                                            var Titulos = db.rrhh_tbTitulosRequisicion_Delete(t.tipe_Id, (int)Session["UserLogin"], Function.DatetimeNow());
                                            foreach (rrhh_tbTitulosRequisicion_Delete_Result titu in Titulos)
                                            {
                                                ResultE = titu.MensajeError + "";
                                            }
                                        }
                                    }
                                    break;

                                case "R":
                                    var RepV = db.tbRequerimientosEspecialesRequisicion.Select(r => new { resp_Id = r.resp_Id, Descripcion = r.tbRequerimientosEspeciales.resp_Descripcion, req_Id = r.req_Id, rer_Id = r.rer_Id, rer_Estado = r.rer_Estado }).Where(r => r.req_Id == tbRequisiciones.req_Id && r.resp_Id == X.Id && r.rer_Estado == true).ToList();
                                    if (DatosProfesionales.ReqEspeciales != null)
                                    {
                                        foreach (var x in DatosProfesionales.ReqEspeciales)
                                        {
                                            if (x == X.Id)
                                            {
                                                Nuevo = "1";
                                            }
                                            else if (Nuevo != "1")
                                            {
                                                Nuevo = null;
                                            }
                                        }
                                    }
                                    if (RepV.Count == 0 && Nuevo == "1")
                                    {
                                        var REspeciales = db.rrhh_tbRequerimientosEspecialesRequisicion_Insert(tbRequisiciones.req_Id, X.Id, (int)Session["UserLogin"], Function.DatetimeNow());
                                        foreach (rrhh_tbRequerimientosEspecialesRequisicion_Insert_Result resp in REspeciales)
                                        {
                                            ResultI = resp.MensajeError + "";
                                        }
                                    }
                                    if (RepV.Count >= 1 && Nuevo == null)
                                    {
                                        foreach (var r in RepV)
                                        {
                                            var ReqEspeciales = db.rrhh_tbRequerimientosEspecialesRequisicion_Delete(r.rer_Id, (int)Session["UserLogin"], Function.DatetimeNow());
                                            foreach (rrhh_tbRequerimientosEspecialesRequisicion_Delete_Result resp in ReqEspeciales)
                                            {
                                                ResultE = resp.MensajeError + "";
                                            }
                                        }
                                    }
                                    break;
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                ex.Message.ToString();
                msj = "-2";
            }

            return(Json(msj, JsonRequestBehavior.AllowGet));
        }
        public ActionResult Edit(Personas tbPersonas, DatosProfesionalesArray DatosProfesionalesArray)
        {
            var msj = "";

            using (db = new ERP_GMEDINAEntities())
            {
                try
                {
                    string ResultI = "";
                    string ResultE = "";
                    var    _list   = db.UDP_RRHH_tbPersonas_Update(tbPersonas.per_Id, tbPersonas.per_Identidad, tbPersonas.per_Nombres, tbPersonas.per_Apellidos, tbPersonas.per_FechaNacimiento, tbPersonas.per_Sexo, tbPersonas.nac_Id, tbPersonas.per_Direccion, tbPersonas.per_Telefono, tbPersonas.per_CorreoElectronico, tbPersonas.per_EstadoCivil, tbPersonas.per_TipoSangre, (int)Session["UserLogin"], Function.DatetimeNow());
                    foreach (UDP_RRHH_tbPersonas_Update_Result Update in _list)
                    {
                        msj = Update.MensajeError + " ";
                        if (msj != "")
                        {
                            var lista = db.V_DatosProfesionalesP.Select(tabla => new { TipoDato = tabla.TipoDato, Id = tabla.Data_Id, Descripcion = tabla.Descripcion }).ToList();
                            foreach (var X in lista)
                            {
                                string Nuevo = null;
                                switch (X.TipoDato)
                                {
                                case "C":
                                    var CompV = db.tbCompetenciasPersona.Select(c => new { comp_Id = c.comp_Id, Descripcion = c.tbCompetencias.comp_Descripcion, per_Id = c.per_Id, cope_Id = c.cope_Id, Estado = c.cope_Estado }).Where(c => c.per_Id == tbPersonas.per_Id && c.Estado == true && c.comp_Id == X.Id).ToList();
                                    if (DatosProfesionalesArray.Competencias != null)
                                    {
                                        foreach (var x in DatosProfesionalesArray.Competencias)
                                        {
                                            if (x == X.Id)
                                            {
                                                Nuevo = "1";
                                            }
                                            else if (Nuevo != "1")
                                            {
                                                Nuevo = null;
                                            }
                                        }
                                    }
                                    if (CompV.Count == 0 && Nuevo == "1")
                                    {
                                        var Competencias = db.UDP_RRHH_tbCompetenciasPersona_Insert(tbPersonas.per_Id, X.Id, (int)Session["UserLogin"], Function.DatetimeNow());
                                        foreach (UDP_RRHH_tbCompetenciasPersona_Insert_Result Com in Competencias)
                                        {
                                            ResultI = Com.MensajeError + "";
                                        }
                                    }
                                    if (CompV.Count >= 1 && Nuevo == null)
                                    {
                                        foreach (var c in CompV)
                                        {
                                            var Competencias = db.UDP_RRHH_tbCompetenciasPersona_Inactivar(c.cope_Id, "Persona Editada", (int)Session["UserLogin"], Function.DatetimeNow());
                                            foreach (UDP_RRHH_tbCompetenciasPersona_Inactivar_Result Com in Competencias)
                                            {
                                                ResultE = Com.MensajeError + "";
                                            }
                                        }
                                    }
                                    break;

                                case "H":
                                    var habV = db.tbHabilidadesPersona.Select(h => new { habi_Id = h.habi_Id, Descripcion = h.tbHabilidades.habi_Descripcion, per_Id = h.per_Id, hape_Id = h.hape_Id, Estado = h.hape_Estado }).Where(h => h.per_Id == tbPersonas.per_Id && h.Estado == true && h.habi_Id == X.Id).ToList();
                                    if (DatosProfesionalesArray.Habilidades != null)
                                    {
                                        foreach (var x in DatosProfesionalesArray.Habilidades)
                                        {
                                            if (x == X.Id)
                                            {
                                                Nuevo = "1";
                                            }
                                            else if (Nuevo != "1")
                                            {
                                                Nuevo = null;
                                            }
                                        }
                                    }
                                    if (habV.Count == 0 && Nuevo == "1")
                                    {
                                        var Habilidades = db.UDP_RRHH_tbHabilidadesPersona_Insert(tbPersonas.per_Id, X.Id, (int)Session["UserLogin"], Function.DatetimeNow());
                                        foreach (UDP_RRHH_tbHabilidadesPersona_Insert_Result hab in Habilidades)
                                        {
                                            ResultI = hab.MensajeError + "";
                                        }
                                    }
                                    if (habV.Count >= 1 && Nuevo == null)
                                    {
                                        foreach (var h in habV)
                                        {
                                            var Habilidades = db.UDP_RRHH_tbHabilidadesPersona_Inactivar(h.hape_Id, "Persona Editada", (int)Session["UserLogin"], Function.DatetimeNow());
                                            foreach (UDP_RRHH_tbHabilidadesPersona_Inactivar_Result Com in Habilidades)
                                            {
                                                ResultE = Com.MensajeError + "";
                                            }
                                        }
                                    }
                                    break;

                                case "I":
                                    var IdiV = db.tbIdiomaPersona.Select(i => new { idi_Id = i.idi_Id, Descripcion = i.tbIdiomas.idi_Descripcion, per_Id = i.per_Id, idpe_Id = i.idpe_Id, Estado = i.idpe_Estado }).Where(i => i.per_Id == tbPersonas.per_Id && i.Estado == true && i.idi_Id == X.Id).ToList();
                                    if (DatosProfesionalesArray.Idiomas != null)
                                    {
                                        foreach (var x in DatosProfesionalesArray.Idiomas)
                                        {
                                            if (x == X.Id)
                                            {
                                                Nuevo = "1";
                                            }
                                            else if (Nuevo != "1")
                                            {
                                                Nuevo = null;
                                            }
                                        }
                                    }
                                    if (IdiV.Count == 0 && Nuevo == "1")
                                    {
                                        var Idiomas = db.UDP_RRHH_tbIdiomasPersona_Insert(tbPersonas.per_Id, X.Id, (int)Session["UserLogin"], Function.DatetimeNow());
                                        foreach (UDP_RRHH_tbIdiomasPersona_Insert_Result idi in Idiomas)
                                        {
                                            ResultI = idi.MensajeError + "";
                                        }
                                    }
                                    if (IdiV.Count >= 1 && Nuevo == null)
                                    {
                                        foreach (var i in IdiV)
                                        {
                                            var Idiomas = db.UDP_RRHH_tbIdiomasPersona_Inactivar(i.idpe_Id, "Persona Editada", (int)Session["UserLogin"], Function.DatetimeNow());
                                            foreach (UDP_RRHH_tbIdiomasPersona_Inactivar_Result idio in Idiomas)
                                            {
                                                ResultE = idio.MensajeError + "";
                                            }
                                        }
                                    }
                                    break;

                                case "T":
                                    var TitV = db.tbTitulosPersona.Select(t => new { titu_Id = t.titu_Id, Descripcion = t.tbTitulos.titu_Descripcion, per_Id = t.per_Id, tipe_Id = t.tipe_Id, Estado = t.tipe_Estado }).Where(t => t.per_Id == tbPersonas.per_Id && t.Estado == true && t.titu_Id == X.Id).ToList();
                                    if (DatosProfesionalesArray.Titulos != null)
                                    {
                                        foreach (var x in DatosProfesionalesArray.Titulos)
                                        {
                                            if (x == X.Id)
                                            {
                                                Nuevo = "1";
                                            }
                                            else if (Nuevo != "1")
                                            {
                                                Nuevo = null;
                                            }
                                        }
                                    }
                                    if (TitV.Count == 0 && Nuevo == "1")
                                    {
                                        var Titulos = db.UDP_RRHH_tbTitulosPersona_Insert(tbPersonas.per_Id, X.Id, 2019, (int)Session["UserLogin"], Function.DatetimeNow());
                                        foreach (UDP_RRHH_tbTitulosPersona_Insert_Result titu in Titulos)
                                        {
                                            ResultI = titu.MensajeError + "";
                                        }
                                    }
                                    if (TitV.Count >= 1 && Nuevo == null)
                                    {
                                        foreach (var t in TitV)
                                        {
                                            var Titulos = db.UDP_RRHH_tbTitulosPersona_Inactivar(t.tipe_Id, "Persona Editada", (int)Session["UserLogin"], Function.DatetimeNow());
                                            foreach (UDP_RRHH_tbTitulosPersona_Inactivar_Result titu in Titulos)
                                            {
                                                ResultE = titu.MensajeError + "";
                                            }
                                        }
                                    }
                                    break;

                                case "R":
                                    var RepV = db.tbRequerimientosEspecialesPersona.Select(r => new { resp_Id = r.resp_Id, Descripcion = r.tbRequerimientosEspeciales.resp_Descripcion, per_Id = r.per_Id, rep_Id = r.rep_Id, Estado = r.rep_Estado }).Where(r => r.per_Id == tbPersonas.per_Id && r.Estado == true && r.resp_Id == X.Id).ToList();
                                    if (DatosProfesionalesArray.ReqEspeciales != null)
                                    {
                                        foreach (var x in DatosProfesionalesArray.ReqEspeciales)
                                        {
                                            if (x == X.Id)
                                            {
                                                Nuevo = "1";
                                            }
                                            else if (Nuevo != "1")
                                            {
                                                Nuevo = null;
                                            }
                                        }
                                    }
                                    if (RepV.Count == 0 && Nuevo == "1")
                                    {
                                        var REspeciales = db.UDP_RRHH_tbRequerimientosEspecialesPersona_Insert(tbPersonas.per_Id, X.Id, (int)Session["UserLogin"], Function.DatetimeNow());
                                        foreach (UDP_RRHH_tbRequerimientosEspecialesPersona_Insert_Result resp in REspeciales)
                                        {
                                            ResultI = resp.MensajeError + "";
                                        }
                                    }
                                    if (RepV.Count >= 1 && Nuevo == null)
                                    {
                                        foreach (var r in RepV)
                                        {
                                            var ReqEspeciales = db.UDP_RRHH_tbRequerimientosEspecialesPersona_Inactivar(r.rep_Id, "Persona Editada", (int)Session["UserLogin"], Function.DatetimeNow());
                                            foreach (UDP_RRHH_tbRequerimientosEspecialesPersona_Inactivar_Result resp in ReqEspeciales)
                                            {
                                                ResultE = resp.MensajeError + "";
                                            }
                                        }
                                    }
                                    break;
                                }
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    ex.Message.ToString();
                    msj = "-2";
                }
            }
            return(Json(msj.Substring(0, 2), JsonRequestBehavior.AllowGet));
        }
Example #4
0
        public JsonResult Create(tbRequisiciones tbRequisiciones, DatosProfesionalesArray DatosProfesionales)
        {
            string msj = "...";

            if (tbRequisiciones != null)
            {
                try
                {
                    using (db = new ERP_GMEDINAEntities())
                    {
                        if (tbRequisiciones.req_Sexo == "N")
                        {
                            tbRequisiciones.req_Sexo = null;
                        }

                        if (tbRequisiciones.req_EstadoCivil == "N")
                        {
                            tbRequisiciones.req_EstadoCivil = null;
                        }

                        var List = db.UDP_RRHH_tbRequisiciones_Insert(tbRequisiciones.req_Experiencia, tbRequisiciones.req_Sexo, tbRequisiciones.req_Descripcion, tbRequisiciones.req_EdadMinima, tbRequisiciones.req_EdadMaxima, tbRequisiciones.req_EstadoCivil, tbRequisiciones.req_EducacionSuperior, tbRequisiciones.req_Permanente, tbRequisiciones.req_Duracion, tbRequisiciones.req_Vacantes, tbRequisiciones.req_NivelEducativo, Function.DatetimeNow(), tbRequisiciones.req_FechaContratacion, (int)Session["UserLogin"], Function.DatetimeNow());

                        foreach (UDP_RRHH_tbRequisiciones_Insert_Result item in List)
                        {
                            msj = item.MensajeError + "";
                            //Competencias
                            if (DatosProfesionales.Competencias != null & msj != "-1")
                            {
                                for (int i = 0; i < DatosProfesionales.Competencias.Length; i++)
                                {
                                    var Competencias = db.rrhh_tbCompetenciasRequisicion_Insert(Int32.Parse(msj), DatosProfesionales.Competencias[i], (int)Session["UserLogin"], Function.DatetimeNow());
                                    foreach (rrhh_tbCompetenciasRequisicion_Insert_Result comp in Competencias)
                                    {
                                        var result = comp.MensajeError + "";
                                    }
                                }
                            }
                            // Habilidades
                            if (DatosProfesionales.Habilidades != null & msj != "-1")
                            {
                                for (int i = 0; i < DatosProfesionales.Habilidades.Length; i++)
                                {
                                    var Habilidades = db.rrhh_tbHabilidadesRequisicion_Insert(Int32.Parse(msj), DatosProfesionales.Habilidades[i], (int)Session["UserLogin"], Function.DatetimeNow());
                                    foreach (rrhh_tbHabilidadesRequisicion_Insert_Result hab in Habilidades)
                                    {
                                        var result = hab.MensajeError + "";
                                    }
                                }
                            }
                            //Idiomas
                            if (DatosProfesionales.Idiomas != null & msj != "-1")
                            {
                                for (int i = 0; i < DatosProfesionales.Idiomas.Length; i++)
                                {
                                    var Idiomas = db.rrhh_tbIdiomasRequisicion_Insert(Int32.Parse(msj), DatosProfesionales.Idiomas[i], (int)Session["UserLogin"], Function.DatetimeNow());
                                    foreach (rrhh_tbIdiomasRequisicion_Insert_Result idi in Idiomas)
                                    {
                                        var result = idi.MensajeError + "";
                                    }
                                }
                            }
                            // Requerimientos Especiales
                            if (DatosProfesionales.ReqEspeciales != null & msj != "-1")
                            {
                                for (int i = 0; i < DatosProfesionales.ReqEspeciales.Length; i++)
                                {
                                    var ReqEspeciales = db.rrhh_tbRequerimientosEspecialesRequisicion_Insert(Int32.Parse(msj), DatosProfesionales.ReqEspeciales[i], (int)Session["UserLogin"], Function.DatetimeNow());
                                    foreach (rrhh_tbRequerimientosEspecialesRequisicion_Insert_Result rep in ReqEspeciales)
                                    {
                                        var result = rep.MensajeError + "";
                                    }
                                }
                            }
                            //Titulos
                            if (DatosProfesionales.Titulos != null & msj != "-1")
                            {
                                for (int i = 0; i < DatosProfesionales.Titulos.Length; i++)
                                {
                                    var Titulos = db.rrhh_tbTitulosRequisicion_Insert(Int32.Parse(msj), DatosProfesionales.Titulos[i], (int)Session["UserLogin"], Function.DatetimeNow());
                                    foreach (rrhh_tbTitulosRequisicion_Insert_Result rep in Titulos)
                                    {
                                        var result = rep.MensajeError + "";
                                    }
                                }
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    msj = "-2";
                    ex.Message.ToString();
                }
            }
            else
            {
                msj = "-3";
            }
            return(Json(msj, JsonRequestBehavior.AllowGet));
        }
        public ActionResult Create(Personas tbPersonas, DatosProfesionalesArray DatosProfesionalesArray)//,)
        {
            string msj = "...";

            if (tbPersonas != null)
            {
                try
                {
                    using (db = new ERP_GMEDINAEntities())
                    {
                        var fecha = tbPersonas.per_FechaNacimiento.ToString();
                        if (fecha == "01/01/0001 0:00:00")
                        {
                            tbPersonas.per_FechaNacimiento = null;
                        }
                        var List = db.UDP_RRHH_tbPersonas_Insert(tbPersonas.per_Identidad, tbPersonas.per_Nombres, tbPersonas.per_Apellidos, tbPersonas.per_FechaNacimiento, tbPersonas.per_Sexo, tbPersonas.nac_Id, tbPersonas.per_Direccion, tbPersonas.per_Telefono, tbPersonas.per_CorreoElectronico, tbPersonas.per_EstadoCivil, tbPersonas.per_TipoSangre, (int)Session["UserLogin"], Function.DatetimeNow());

                        foreach (UDP_RRHH_tbPersonas_Insert_Result item in List)
                        {
                            msj = item.MensajeError + " ";
                            //Competencias
                            if (DatosProfesionalesArray.Competencias != null & msj != "-1")
                            {
                                for (int i = 0; i < DatosProfesionalesArray.Competencias.Length; i++)
                                {
                                    var Competencias = db.UDP_RRHH_tbCompetenciasPersona_Insert(Int32.Parse(msj), DatosProfesionalesArray.Competencias[i], 1, DateTime.Now);
                                    foreach (UDP_RRHH_tbCompetenciasPersona_Insert_Result comp in Competencias)
                                    {
                                        var result = comp.MensajeError + "";
                                    }
                                }
                            }
                            //Habilidades
                            if (DatosProfesionalesArray.Habilidades != null & msj != "-1")
                            {
                                for (int i = 0; i < DatosProfesionalesArray.Habilidades.Length; i++)
                                {
                                    var Habilidades = db.UDP_RRHH_tbHabilidadesPersona_Insert(Int32.Parse(msj), DatosProfesionalesArray.Habilidades[i], 1, DateTime.Now);
                                    foreach (UDP_RRHH_tbHabilidadesPersona_Insert_Result hab in Habilidades)
                                    {
                                        var result = hab.MensajeError + "";
                                    }
                                }
                            }
                            //Idiomas
                            if (DatosProfesionalesArray.Idiomas != null & msj != "-1")
                            {
                                for (int i = 0; i < DatosProfesionalesArray.Idiomas.Length; i++)
                                {
                                    var Idiomas = db.UDP_RRHH_tbIdiomasPersona_Insert(Int32.Parse(msj), DatosProfesionalesArray.Idiomas[i], 1, DateTime.Now);
                                    foreach (UDP_RRHH_tbIdiomasPersona_Insert_Result idi in Idiomas)
                                    {
                                        var result = idi.MensajeError + "";
                                    }
                                }
                            }
                            //Requerimientos Especiales
                            if (DatosProfesionalesArray.ReqEspeciales != null & msj != "-1")
                            {
                                for (int i = 0; i < DatosProfesionalesArray.ReqEspeciales.Length; i++)
                                {
                                    var ReqEspeciales = db.UDP_RRHH_tbRequerimientosEspecialesPersona_Insert(Int32.Parse(msj), DatosProfesionalesArray.ReqEspeciales[i], 1, DateTime.Now);
                                    foreach (UDP_RRHH_tbRequerimientosEspecialesPersona_Insert_Result rep in ReqEspeciales)
                                    {
                                        var result = rep.MensajeError + "";
                                    }
                                }
                            }
                            //Titulos
                            if (DatosProfesionalesArray.Titulos != null & msj != "-1")
                            {
                                for (int i = 0; i < DatosProfesionalesArray.Titulos.Length; i++)
                                {
                                    var Titulos = db.UDP_RRHH_tbTitulosPersona_Insert(Int32.Parse(msj), DatosProfesionalesArray.Titulos[i], 2000, 1, DateTime.Now);
                                    foreach (UDP_RRHH_tbTitulosPersona_Insert_Result rep in Titulos)
                                    {
                                        var result = rep.MensajeError + "";
                                    }
                                }
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    msj = "-2";
                    ex.Message.ToString();
                }
            }
            else
            {
                msj = "-3";
            }
            return(Json(msj.Substring(0, 2), JsonRequestBehavior.AllowGet));
        }