public ActionResult Save_Update(UpdateProyectoInversionModel pObjModel)
        {
            bool bolGrabaOK = false;

            if (ModelState.IsValid)
            {
                try
                {
                    ProyectoInversion_DAL objProyectoInversion_DAL = new ProyectoInversion_DAL();

                    int intResultado = objProyectoInversion_DAL.Actualiza(pObjModel.IdProyecto, pObjModel.CodSNIP, pObjModel.Descripcion,
                                                                          pObjModel.Nombre, pObjModel.IdVia, pObjModel.Ubicacion, pObjModel.Beneficiarios, pObjModel.ValorReferencial, pObjModel.IdEstado);

                    if (intResultado == 1)
                    {
                        bolGrabaOK = true;
                        //TempData["MsgSuccess"] = "Se realizó la operación satisfactoriamente";
                        ViewBag.MsgSuccess = "Se realizó la operación satisfactoriamente";
                        //return RedirectToAction("Update");
                    }
                    else if (intResultado == -998)
                    {
                        ViewBag.Error = "1";
                        ModelState.AddModelError("", "No se pueden actualizar los datos del proyecto debido a que ha cambiado de estado.");
                    }
                    else if (intResultado == -997)
                    {
                        ViewBag.Error = "1";
                        ModelState.AddModelError("", "No se pueden actualizar los datos del proyecto debido a que el código SNIP ingresado ya existe para otro proyecto.");
                    }
                    else
                    {
                        ViewBag.Error = "1";
                        ModelState.AddModelError("", "No se pudo actualizar el proyecto");
                    }
                }
                catch (Exception ex)
                {
                    ModelState.AddModelError("", ex.ToString());
                }
            }
            ViewBag.MostrarSearch = "0";

            if (bolGrabaOK)
            {
                if (pObjModel.IdEstado == ObrasPublicas.Entities.ProyectoInversion.STR_ID_ESTADO_EN_CONSULTA)
                {
                    return(View("Update", pObjModel));
                }
                else
                {
                    TempData["FromUpdate"] = "1";
                    return(Detail(pObjModel.IdProyecto));
                }
            }
            else
            {
                return(View("Update", pObjModel));
            }
        }
        public ActionResult Edit(int id)
        {
            ProyectoInversion_DAL objProyectoInversion_DAL = new ProyectoInversion_DAL();
            ProyectoInversion     objProyectoInversion     = objProyectoInversion_DAL.ObtieneXId(id);

            if (objProyectoInversion.IdEstado != ProyectoInversion.STR_ID_ESTADO_EN_CONSULTA)
            {
                ViewBag.MsgError = "No puede modificar el proyecto debido a que se encuentra en estado " + objProyectoInversion.NomEstado.ToUpper();
                return(Detail(objProyectoInversion.IdProyecto));
            }
            else
            {
                UpdateProyectoInversionModel objModel = new UpdateProyectoInversionModel();
                objModel.IdProyecto       = objProyectoInversion.IdProyecto;
                objModel.CodSNIP          = objProyectoInversion.CodSNIP;
                objModel.Descripcion      = objProyectoInversion.Descripcion;
                objModel.Nombre           = objProyectoInversion.Nombre;
                objModel.IdVia            = objProyectoInversion.IdVia;
                objModel.Ubicacion        = objProyectoInversion.Ubicacion;
                objModel.ValorReferencial = objProyectoInversion.ValorReferencial;
                objModel.Beneficiarios    = objProyectoInversion.Beneficiarios;
                objModel.TipoVia          = objProyectoInversion.TipoVia;
                objModel.IdEstado         = objProyectoInversion.IdEstado;

                ViewBag.MostrarSearch = "0";

                return(View("Update", objModel));
            }
        }
        public ActionResult Search(UpdateProyectoInversionModel pObjModel)
        {
            ProyectoInversion_DAL    objProyectoInversion_DAL = new ProyectoInversion_DAL();
            List <ProyectoInversion> lstProyectos             = objProyectoInversion_DAL.BuscarXFiltro(pObjModel.SearchCodSNIP,
                                                                                                       pObjModel.SearchNombre, pObjModel.SearchUbicacion, pObjModel.SearchIdEstado);

            ViewBag.lstProyectos = lstProyectos;
            ViewBag.Action       = "UPD";

            return(View("Update", pObjModel));
        }