public ActionResult Save_UpdateActividad(UpdateActividadCronogramaEjecucionModel pObjModel)
        {
            var valid = TryUpdateModel(pObjModel);

            if (valid)
            {
                try
                {
                    int intResultado = 1;
                    CronogramaEjecucionObra_DAL objCronogramaEjecucionObra_DAL = new CronogramaEjecucionObra_DAL();

                    ActividadCronogramaOP objActividadCronogramaOP = new ActividadCronogramaOP();
                    objActividadCronogramaOP.IdActividad = pObjModel.IdActividad;
                    objActividadCronogramaOP.Nombre = pObjModel.NomAct;
                    objActividadCronogramaOP.CantidadRRHH = pObjModel.CantidadRRHHAct;
                    objActividadCronogramaOP.Costo = pObjModel.CostoAct;
                    objActividadCronogramaOP.FechaFinEjec = Convert.ToDateTime(pObjModel.FechaFinEjecAct);
                    objActividadCronogramaOP.FechaFinProg = Convert.ToDateTime(pObjModel.FechaFinProgAct);
                    objActividadCronogramaOP.FechaIniEjec = Convert.ToDateTime(pObjModel.FechaIniEjecAct);
                    objActividadCronogramaOP.FechaIniProg = Convert.ToDateTime(pObjModel.FechaIniProgAct);
                    objActividadCronogramaOP.IdTipoResponsable = pObjModel.ResponsableActTipo;

                    if (pObjModel.ResponsableActTipo == "P")
                    {
                        objActividadCronogramaOP.IdEmpleado = Convert.ToInt32(pObjModel.IdResponsablePersonaNatural);
                    }
                    else if (intResultado == -997)
                    {
                        ModelState.AddModelError("General", "No puede modificar el cronograma debido a que el proyecto está en estado ADJUDICADO.");
                    }
                    else
                    {
                        objActividadCronogramaOP.IdEmpleado = Convert.ToInt32(pObjModel.IdResponsablePersonaJuridica);
                    }

                    intResultado = objCronogramaEjecucionObra_DAL.ActualizaActividad(pObjModel.IdExpediente,
                         pObjModel.IdCronograma, pObjModel.IdActividad, objActividadCronogramaOP);

                    if (intResultado == 1)
                    {
                        //TempData["MsgSuccess"] = "Se realizó la operación satisfactoriamente";
                        //return RedirectToAction("Index");
                    }
                    else
                    {
                        valid = false;
                        ModelState.AddModelError("General", "No se pudo modificar la actividad");
                    }
                }
                catch (Exception ex)
                {
                    valid = false;
                    ModelState.AddModelError("General", ex.ToString());
                }
            }

            return Json(new
            {
                Valid = valid,
                Errors = GetErrorsFromModelState()
            });
        }
        public ActionResult UpdateActividad(int p, int e, int c, int a)
        {
            UpdateActividadCronogramaEjecucionModel objUpdateActividadCronogramaEjecucionModel = new UpdateActividadCronogramaEjecucionModel();

            objUpdateActividadCronogramaEjecucionModel.IdCronograma = c;
            objUpdateActividadCronogramaEjecucionModel.IdExpediente = e;
            objUpdateActividadCronogramaEjecucionModel.IdProyecto = p;
            return View(objUpdateActividadCronogramaEjecucionModel);
        }
        public ActionResult EditActividad(int p, int e, int c, int a)
        {
            UpdateActividadCronogramaEjecucionModel objUpdateActividadCronogramaEjecucionModel = new UpdateActividadCronogramaEjecucionModel();
            objUpdateActividadCronogramaEjecucionModel.IdProyecto = p;
            objUpdateActividadCronogramaEjecucionModel.IdExpediente = p;
            objUpdateActividadCronogramaEjecucionModel.IdCronograma = c;

            ProyectoInversion_DAL objProyectoInversion_DAL = new ProyectoInversion_DAL();
            ProyectoInversion objProyectoInversion = objProyectoInversion_DAL.ObtieneXId(p);
            objUpdateActividadCronogramaEjecucionModel.NomProyecto = objProyectoInversion.Nombre;

            CronogramaEjecucionObra_DAL objCronogramaEjecucionObra_DAL = new CronogramaEjecucionObra_DAL();
            CronogramaEjecucionOP objCronogramaEjecucionOP = objCronogramaEjecucionObra_DAL.ObtieneXId(e, c);

            ActividadCronogramaOP objActividadCronogramaOP = objCronogramaEjecucionObra_DAL.ObtieneActvidadXId(c, a);

            objUpdateActividadCronogramaEjecucionModel.PlazoEjecucion = objCronogramaEjecucionOP.PlazoEjecucion;

            objUpdateActividadCronogramaEjecucionModel.IdActividad = objActividadCronogramaOP.IdActividad;
            objUpdateActividadCronogramaEjecucionModel.CantidadRRHHAct = objActividadCronogramaOP.CantidadRRHH;
            objUpdateActividadCronogramaEjecucionModel.CostoAct = objActividadCronogramaOP.Costo;
            objUpdateActividadCronogramaEjecucionModel.FechaFinEjecAct = objActividadCronogramaOP.FechaFinEjec.ToString("dd/MM/yyyy");
            objUpdateActividadCronogramaEjecucionModel.FechaFinProgAct = objActividadCronogramaOP.FechaFinProg.ToString("dd/MM/yyyy");
            objUpdateActividadCronogramaEjecucionModel.FechaIniEjecAct = objActividadCronogramaOP.FechaIniEjec.ToString("dd/MM/yyyy");
            objUpdateActividadCronogramaEjecucionModel.FechaIniProgAct = objActividadCronogramaOP.FechaIniProg.ToString("dd/MM/yyyy");

            if (objActividadCronogramaOP.IdArea.HasValue) {
                objUpdateActividadCronogramaEjecucionModel.IdAreaResponsable = objActividadCronogramaOP.IdArea.Value.ToString();
            }

            objUpdateActividadCronogramaEjecucionModel.ResponsableActTipo = objActividadCronogramaOP.IdTipoResponsable;

            //if (objActividadCronogramaOP.IdTipoResponsable == "E")
            //{
                objUpdateActividadCronogramaEjecucionModel.IdResponsablePersonaJuridica = objActividadCronogramaOP.IdEmpleado.ToString();

                var lstEmpleadosEmpresa = objCronogramaEjecucionObra_DAL.ObtieneEmpleadosPersonaJuridica();
                ViewBag.lstEmpleadosEmpresa = lstEmpleadosEmpresa;
            //}
            //else {
                objUpdateActividadCronogramaEjecucionModel.IdResponsablePersonaNatural = objActividadCronogramaOP.IdEmpleado.ToString();
                //if (objActividadCronogramaOP.IdArea.HasValue)
                //{
                if (objActividadCronogramaOP.IdArea.HasValue)
                {
                    var lstEmpleadosPersona = objCronogramaEjecucionObra_DAL.ObtieneEmpleadosPersonaNatural(objActividadCronogramaOP.IdArea.Value);
                    ViewBag.lstEmpleadosPersona = lstEmpleadosPersona;
                }
                //}
            //}
            objUpdateActividadCronogramaEjecucionModel.NomAct = objActividadCronogramaOP.Nombre;

            return View("UpdateActividad", objUpdateActividadCronogramaEjecucionModel);
        }