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));
            }
        }
Example #2
0
        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));
        }
Example #3
0
        protected void btnCrearInversion_Click(object sender, EventArgs e)
        {
            try
            {
                if (accion == "Editar")
                {
                    var query = (from p in consultas.Db.ProyectoInversions
                                 where p.CodProyecto == Convert.ToInt32(codProyecto) &&
                                 p.Id_Inversion == Convert.ToInt32(idInversionEdita)
                                 select p
                                 ).First();



                    query.Concepto = txtConcepto.Text;
                    query.Valor    = Convert.ToDecimal(txtValor.Text.Replace(",", "").Replace(".", ","));
                    if (!string.IsNullOrEmpty(txtSemana.Text))
                    {
                        query.Semanas = Convert.ToInt16(txtSemana.Text);
                    }
                    else
                    {
                        query.Semanas = 0;
                    }

                    query.AportadoPor = ddlTipoFuente.SelectedValue;
                    consultas.Db.SubmitChanges();
                    //ObtenerDatosUltimaActualizacion();
                    //Response.Redirect("PProyectoFinanzasEgreso.aspx?CodProyecto=" + codProyecto + "");
                }
                else
                {
                    Datos.ProyectoInversion datosNuevos = new ProyectoInversion()
                    {
                        CodProyecto   = Convert.ToInt32(codProyecto),
                        Concepto      = txtConcepto.Text,
                        Valor         = Convert.ToDecimal(txtValor.Text.Replace(",", "").Replace(".", ",")),
                        Semanas       = Convert.ToInt16(txtSemana.Text),
                        AportadoPor   = ddlTipoFuente.SelectedValue,
                        TipoInversion = "Diferida"
                    };
                    consultas.Db.ProyectoInversions.InsertOnSubmit(datosNuevos);

                    consultas.Db.SubmitChanges();
                }

                Cancelar();
            }
            catch (ApplicationException ex)
            {
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Mensaje", "alert('" + ex.Message + "');", true);
            }
            catch (Exception ex)
            {
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Mensaje", "alert('Sucedio un error, intentelo de nuevo. detalle : " + ex.Message + " ');", true);
            }
        }
        public ActionResult Detail(int id)
        {
            ProyectoInversion_DAL objProyectoInversion_DAL = new ProyectoInversion_DAL();
            ProyectoInversion     objProyectoInversion     = objProyectoInversion_DAL.ObtieneXId(id);

            ViewBag.FromUpdate    = TempData["FromUpdate"];
            ViewBag.MostrarSearch = "0";

            return(View("Detail", objProyectoInversion));
        }
        public ActionResult Create(int id)
        {
            Session[STR_DOCUMENTOS_EXPEDIENTE_OP] = null;
            ProyectoInversion_DAL          objProyectoInversion_DAL          = new ProyectoInversion_DAL();
            ProyectoInversion              objProyectoInversion              = objProyectoInversion_DAL.ObtieneXId(id);
            CreateExpedienteTecnicoOPModel objCreateExpedienteTecnicoOPModel = new CreateExpedienteTecnicoOPModel();

            objCreateExpedienteTecnicoOPModel.IdProyecto  = objProyectoInversion.IdProyecto;
            objCreateExpedienteTecnicoOPModel.NomProyecto = objProyectoInversion.Nombre;
            return(View(objCreateExpedienteTecnicoOPModel));
        }
Example #6
0
        public ActionResult Create(int p, int e)
        {
            ProyectoInversion_DAL objProyectoInversion_DAL = new ProyectoInversion_DAL();
            ProyectoInversion     objProyectoInversion     = objProyectoInversion_DAL.ObtieneXId(p);
            CreateCronogramaEjecucionObraModel objCreateCronogramaEjecucionObraModel = new CreateCronogramaEjecucionObraModel();

            objCreateCronogramaEjecucionObraModel.IdProyecto   = objProyectoInversion.IdProyecto;
            objCreateCronogramaEjecucionObraModel.NomProyecto  = objProyectoInversion.Nombre;
            objCreateCronogramaEjecucionObraModel.IdExpediente = e;

            return(View(objCreateCronogramaEjecucionObraModel));
        }
Example #7
0
        public ActionResult CreateActividad(int p, int e, int c)
        {
            CreateActividadCronogramaEjecucionModel objCreateActividadCronogramaEjecucionModel = new CreateActividadCronogramaEjecucionModel();

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

            objCreateActividadCronogramaEjecucionModel.IdCronograma = c;
            objCreateActividadCronogramaEjecucionModel.IdExpediente = e;
            objCreateActividadCronogramaEjecucionModel.IdProyecto   = p;
            objCreateActividadCronogramaEjecucionModel.NomProyecto  = objProyectoInversion.Nombre;

            return(View(objCreateActividadCronogramaEjecucionModel));
        }
        public List <ProyectoInversion> BuscarXFiltro(String pStrCodSNIP, String pStrNombre, String pStrUbicacion, String pStrIdEstado)
        {
            List <ProyectoInversion> lstProyectos = new List <ProyectoInversion>();

            try
            {
                //db_muniEntities objContext = new db_muniEntities();
                MuniIntegrado objContext = new MuniIntegrado();

                if (String.IsNullOrWhiteSpace(pStrNombre))
                {
                    pStrNombre = "";
                }
                if (String.IsNullOrWhiteSpace(pStrUbicacion))
                {
                    pStrUbicacion = "";
                }
                if (String.IsNullOrWhiteSpace(pStrIdEstado))
                {
                    pStrIdEstado = "0";
                }

                var lstProyectosTmp = (from pi in objContext.OP_PROYECTO_INVERSION_PUBLICA
                                       join via in objContext.MA_VIA on pi.coVia equals via.coVia
                                       where ((via.noTipoVia + " " + via.noNomVia + " " + pi.txUbicacion).ToLower().Contains(pStrUbicacion.ToLower()) || pStrUbicacion == "") &&
                                       (pi.noNombre.ToLower().Contains(pStrNombre.ToLower()) || pStrNombre == "") &&
                                       (pi.noEstado == pStrIdEstado || pStrIdEstado == "0")
                                       select new { pi, via });

                foreach (var objProyTmp in lstProyectosTmp)
                {
                    ProyectoInversion objProyecto = new ProyectoInversion();
                    objProyecto.CodSNIP    = objProyTmp.pi.coSNIP;
                    objProyecto.Nombre     = objProyTmp.pi.noNombre;
                    objProyecto.IdProyecto = objProyTmp.pi.coProyecto;
                    objProyecto.Ubicacion  = objProyTmp.pi.txUbicacion;
                    objProyecto.NomVia     = objProyTmp.via.noNomVia;
                    objProyecto.TipoVia    = objProyTmp.via.noTipoVia;
                    objProyecto.IdEstado   = objProyTmp.pi.noEstado;
                    objProyecto.NomEstado  = ObtieneEstados().Where(e => e.IdEstado == objProyTmp.pi.noEstado).First().Nombre;

                    lstProyectos.Add(objProyecto);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.ToString());
            }
            return(lstProyectos);
        }
Example #9
0
        public ActionResult Create(int p)
        {
            //id=id de proyecto
            ViewBag.MsgSuccess = TempData["MsgSuccess"];
            ViewBag.Action     = TempData["Action"];
            ProyectoInversion_DAL objProyectoInversion_DAL = new ProyectoInversion_DAL();
            ProyectoInversion     objProyectoInversion     = objProyectoInversion_DAL.ObtieneXId(p);

            CreateEntregaMaterialOP objCreateEntregaMaterialOP = new CreateEntregaMaterialOP();

            objCreateEntregaMaterialOP.IdProyecto  = p;
            objCreateEntregaMaterialOP.NomProyecto = objProyectoInversion.Nombre;

            return(View(objCreateEntregaMaterialOP));
        }
Example #10
0
        public ActionResult Listado(int p)
        {
            EntregaMaterial_DAL      objEntregaMaterial_DAL   = new EntregaMaterial_DAL();
            ProyectoInversion_DAL    objProyectoInversion_DAL = new ProyectoInversion_DAL();
            ProyectoInversion        objProyectoInversion     = objProyectoInversion_DAL.ObtieneXId(p);
            List <EntregaMaterialOP> lstEntregas = objEntregaMaterial_DAL.ObtieneEntregasXIdProyecto(p);

            ListadoEntregaMaterialModel objListadoEntregaMaterialModel = new ListadoEntregaMaterialModel();

            objListadoEntregaMaterialModel.IdProyecto  = p;
            objListadoEntregaMaterialModel.NomProyecto = objProyectoInversion.Nombre;

            ViewBag.ListadoEntregas = lstEntregas;
            return(View(objListadoEntregaMaterialModel));
        }
        public int Actualiza(int pIntIdEntrega, int pIntIdProyecto, DateTime pDatFecEntregaProg, DateTime pDatFecEntregaEfec, String pStrObservaciones,
                             String pStrTipoEntrega, int pIntIdProveedor, int pIntIdMaterial, int pIntCantidad)
        {
            int intResultado = -999;
            ObrasPublicasEntities objContext = new ObrasPublicasEntities();

            try
            {
                ProyectoInversion_DAL objProyectoInversion_DAL = new ProyectoInversion_DAL();
                ProyectoInversion     objProyectoInversion     = objProyectoInversion_DAL.ObtieneXId(pIntIdProyecto);

                if (objProyectoInversion.IdEstado == ProyectoInversion.STR_ID_ESTADO_ADJUDICADO)
                {
                    intResultado = -998;
                }
                else
                {
                    OP_ENTREGA_MATERIAL objEntregaMaterial = objContext.OP_ENTREGA_MATERIAL.Where(ent => ent.coEntrega == pIntIdEntrega).First();

                    if (objEntregaMaterial != null)
                    {
                        objEntregaMaterial.coMaterial          = pIntIdMaterial;
                        objEntregaMaterial.coProveedor         = pIntIdProveedor;
                        objEntregaMaterial.feEntregaEfectiva   = pDatFecEntregaEfec;
                        objEntregaMaterial.feEntregaProgramada = pDatFecEntregaProg;
                        objEntregaMaterial.noTipoEntrega       = pStrTipoEntrega;
                        objEntregaMaterial.nuCantidad          = pIntCantidad;
                        objEntregaMaterial.txObservaciones     = pStrObservaciones;

                        int intRows = objContext.SaveChanges();

                        if (intRows > 0)
                        {
                            intResultado = 1;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                if (ex.ToString().Contains("IX_op_proyecto_inversion_publica"))
                {
                    intResultado = -998;
                }
            }
            return(intResultado);
        }
Example #12
0
        public List <ProyectoInversion> BuscarXFiltroSinCronograma(String pStrCodSNIP, String pStrNombre, String pStrUbicacion, String pStrIdEstado)
        {
            List <ProyectoInversion> lstProyectos             = new List <ProyectoInversion>();
            ProyectoInversion_DAL    objProyectoInversion_DAL = new ProyectoInversion_DAL();

            try
            {
                if (String.IsNullOrWhiteSpace(pStrNombre))
                {
                    pStrNombre = "";
                }
                if (String.IsNullOrWhiteSpace(pStrUbicacion))
                {
                    pStrUbicacion = "";
                }
                if (String.IsNullOrWhiteSpace(pStrIdEstado))
                {
                    pStrIdEstado = "0";
                }

                ObrasPublicasEntities objContext = new ObrasPublicasEntities();
                var objResult = objContext.sp_gop_get_proy_sin_cro(pStrNombre, pStrCodSNIP, pStrUbicacion, pStrIdEstado).ToList();

                List <sp_gop_get_proy_sin_cro_Result> lstProyectosTmp = objResult;

                foreach (var objProyTmp in lstProyectosTmp)
                {
                    ProyectoInversion objProyecto = new ProyectoInversion();
                    objProyecto.CodSNIP      = objProyTmp.coSNIP;
                    objProyecto.Nombre       = objProyTmp.noNombre;
                    objProyecto.IdProyecto   = objProyTmp.coProyecto;
                    objProyecto.Ubicacion    = objProyTmp.txUbicacion;
                    objProyecto.NomVia       = objProyTmp.noNomVia;
                    objProyecto.IdExpediente = objProyTmp.coExpediente;
                    objProyecto.TipoVia      = objProyTmp.noTipoVia;
                    objProyecto.IdEstado     = objProyTmp.noEstado;
                    objProyecto.NomEstado    = ObtieneEstados(null).Where(e => e.Id == objProyTmp.noEstado).First().Nombre;

                    lstProyectos.Add(objProyecto);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.ToString());
            }
            return(lstProyectos);
        }
Example #13
0
        public CronogramaEjecucionOP ObtieneXId(int pIntIdExpediente, int pIntIdCronograma)
        {
            CronogramaEjecucionOP objCronogramaEjecucionObra = null;

            try
            {
                ObrasPublicasEntities objContext = new ObrasPublicasEntities();

                var lstCronograma = (from cro in objContext.OP_CRONOGRAMA_EJECUCION
                                     join exp in objContext.OP_EXPEDIENTE_TECNICO on cro.coExpediente equals exp.coExpediente
                                     join proy in objContext.OP_PROYECTO_INVERSION_PUBLICA on exp.coProyecto equals proy.coProyecto
                                     where exp.coExpediente == pIntIdExpediente && cro.coCronograma == pIntIdCronograma
                                     select new { exp, proy, cro }).ToList();

                if (lstCronograma != null)
                {
                    objCronogramaEjecucionObra = new CronogramaEjecucionOP();

                    ProyectoInversion objProyectoInversion = new ProyectoInversion();
                    objProyectoInversion.IdProyecto = lstCronograma[0].proy.coProyecto;
                    objProyectoInversion.Nombre     = lstCronograma[0].proy.noNombre;
                    objCronogramaEjecucionObra.ProyectoInversion = objProyectoInversion;

                    ExpedienteTecnicoOP objExpedienteTecnicoOP = new ExpedienteTecnicoOP();
                    objExpedienteTecnicoOP.IdExpediente = lstCronograma[0].exp.coExpediente;

                    objCronogramaEjecucionObra.ExpedienteTecnico = objExpedienteTecnicoOP;

                    if (lstCronograma[0].cro.feEmision.HasValue)
                    {
                        objCronogramaEjecucionObra.FechaEmision = lstCronograma[0].cro.feEmision.Value;
                    }
                    objCronogramaEjecucionObra.IdCronograma = lstCronograma[0].cro.coCronograma;
                    if (lstCronograma[0].cro.nuPlazoEjecucion.HasValue)
                    {
                        objCronogramaEjecucionObra.PlazoEjecucion = lstCronograma[0].cro.nuPlazoEjecucion.Value;
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.ToString());
            }
            return(objCronogramaEjecucionObra);
        }
Example #14
0
        public ProyectoInversion ObtieneXId(int pIntIdProyecto)
        {
            ProyectoInversion objProyecto = null;

            try
            {
                ObrasPublicasEntities objContext = new ObrasPublicasEntities();

                //var lstProyectosTmp = (from pi in objContext.OP_PROYECTO_INVERSION_PUBLICA
                //                       join via in objContextIntegrado.MA_VIA on pi.coVia equals via.coVia
                //                       where pi.coProyecto == pIntIdProyecto
                //                       select new { pi, via }).ToList();

                var objResult = objContext.sp_gop_get_proy_x_id(pIntIdProyecto).ToList();

                List <sp_gop_get_proy_x_id_Result> lstProyectosTmp = objResult;

                //var lstProyectosTmp = objContext.op_proyecto_inversion_publica.Where(p => p.coProyecto == pIntIdProyecto).ToList();

                if (lstProyectosTmp.Count == 1)
                {
                    objProyecto             = new ProyectoInversion();
                    objProyecto.CodSNIP     = lstProyectosTmp[0].coSNIP;
                    objProyecto.IdProyecto  = lstProyectosTmp[0].coProyecto;
                    objProyecto.Nombre      = lstProyectosTmp[0].noNombre;
                    objProyecto.Ubicacion   = lstProyectosTmp[0].txUbicacion;
                    objProyecto.IdVia       = lstProyectosTmp[0].coVia;
                    objProyecto.Ubicacion   = lstProyectosTmp[0].txUbicacion;
                    objProyecto.Descripcion = lstProyectosTmp[0].txDescripcion;
                    objProyecto.IdEstado    = lstProyectosTmp[0].noEstado;
                    objProyecto.NomEstado   = ObtieneEstados(null).Where(e => e.Id == lstProyectosTmp[0].noEstado).First().Nombre;
                    if (lstProyectosTmp[0].nuBeneficiarios.HasValue)
                    {
                        objProyecto.Beneficiarios = lstProyectosTmp[0].nuBeneficiarios.Value;
                    }
                    objProyecto.ValorReferencial = lstProyectosTmp[0].nuValorReferencialPerfil;
                    objProyecto.TipoVia          = lstProyectosTmp[0].noTipoVia;
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.ToString());
            }
            return(objProyecto);
        }
Example #15
0
        public ActionResult Listado(int p, int e, int c)
        {
            ProyectoInversion_DAL objProyectoInversion_DAL = new ProyectoInversion_DAL();
            ProyectoInversion     objProyectoInversion     = objProyectoInversion_DAL.ObtieneXId(p);

            CronogramaEjecucionObra_DAL  objCronogramaEjecucionObra_DAL = new CronogramaEjecucionObra_DAL();
            List <ActividadCronogramaOP> lstActividades = objCronogramaEjecucionObra_DAL.ObtieneActvidades(e, c);

            ListadoCronogramaEjecucionObraModel objListadoCronogramaEjecucionObraModel = new ListadoCronogramaEjecucionObraModel();

            objListadoCronogramaEjecucionObraModel.IdProyecto   = objProyectoInversion.IdProyecto;
            objListadoCronogramaEjecucionObraModel.NomProyecto  = objProyectoInversion.Nombre;
            objListadoCronogramaEjecucionObraModel.IdExpediente = e;
            objListadoCronogramaEjecucionObraModel.IdCronograma = c;

            ViewBag.ListadoActividades = lstActividades;
            return(View(objListadoCronogramaEjecucionObraModel));
        }
Example #16
0
        //public ViewResult BlankEditorRow()
        //{
        //    return View("_ActividadEjecucionObraRow", new Models.CronogramaEjecucionObra.ActividadEjecucionObraModel());
        //}

        public ActionResult Edit(int p, int e, int c)
        {
            UpdateCronogramaEjecucionObraModel objUpdateCronogramaEjecucionObraModel = new UpdateCronogramaEjecucionObraModel();

            objUpdateCronogramaEjecucionObraModel.IdProyecto   = p;
            objUpdateCronogramaEjecucionObraModel.IdExpediente = p;
            objUpdateCronogramaEjecucionObraModel.IdCronograma = c;

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

            objUpdateCronogramaEjecucionObraModel.NomProyecto = objProyectoInversion.Nombre;

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

            objUpdateCronogramaEjecucionObraModel.PlazoEjecucion = objCronogramaEjecucionOP.PlazoEjecucion;

            return(View("Update", objUpdateCronogramaEjecucionObraModel));
        }
Example #17
0
        public ActionResult Save_Update(UpdateEntregaMaterialOP pObjModel)
        {
            if (ModelState.IsValid)
            {
                bool bolGrabaOK = false;
                try
                {
                    EntregaMaterial_DAL   objEntregaMaterial_DAL   = new EntregaMaterial_DAL();
                    ProyectoInversion_DAL objProyectoInversion_DAL = new ProyectoInversion_DAL();

                    ProyectoInversion objProyectoInversion = objProyectoInversion_DAL.ObtieneXId(pObjModel.IdProyecto);
                    pObjModel.IdProyecto  = pObjModel.IdProyecto;
                    pObjModel.NomProyecto = objProyectoInversion.Nombre;

                    int intResultado = objEntregaMaterial_DAL.Actualiza(pObjModel.IdEntrega, pObjModel.IdProyecto, Convert.ToDateTime(pObjModel.FecEntregaProg),
                                                                        Convert.ToDateTime(pObjModel.FecEntregaEfec), pObjModel.Observaciones, pObjModel.TipoEntrega,
                                                                        pObjModel.IdProveedor, pObjModel.IdMaterial, pObjModel.Cantidad);

                    if (intResultado == 1)
                    {
                        bolGrabaOK         = true;
                        ViewBag.MsgSuccess = "Se realizó la operación satisfactoriamente";
                    }
                    else
                    {
                        ViewBag.Error = "1";
                        ModelState.AddModelError("", "No se pudo actualizar la entrega de material");
                    }
                }
                catch (Exception ex)
                {
                    ModelState.AddModelError("", ex.ToString());
                }
            }

            return(View("Update", pObjModel));
        }
Example #18
0
        private static void CalcularProyeccionesInversion(int codigoproyecto)
        {
            using (Datos.FonadeDBDataContext db = new Datos.FonadeDBDataContext(cadenaConexion))
            {
                List <ProyectoInversion> lstBorrar = new List <ProyectoInversion>();
                List <ProyectoInversion> lstNuevos = new List <ProyectoInversion>();

                string[] reg2 = db.ProyectoInfraestructuras
                                .Where(x => x.codProyecto == codigoproyecto)
                                .Select(y => y.TipoInfraestructura.NomTipoInfraestructura + "|" + y.FuenteFinanciacion.DescFuente)
                                .Distinct().ToArray();

                //Se consultan los requerimientos del plan de negocio
                var lst = db.ProyectoInfraestructuras
                          .Where(x => x.codProyecto == codigoproyecto)
                          .GroupBy(grupo => new
                {
                    grupo.CodTipoInfraestructura,
                    grupo.IdFuente,
                    grupo.codProyecto
                }
                                   ).Select(x => new
                {
                    CodProyecto          = x.Key.codProyecto,
                    Concepto             = db.TipoInfraestructuras.Where(y => y.Id_TipoInfraestructura == x.Key.CodTipoInfraestructura).SingleOrDefault().NomTipoInfraestructura,
                    Valor                = x.Sum(y => (float)(y.ValorUnidad.Value) * (int)(y.Cantidad.Value)),
                    AportadoPor          = db.FuenteFinanciacions.Where(y => y.IdFuente == x.Key.IdFuente).SingleOrDefault().DescFuente,
                    IdFuenteFinanciacion = x.FirstOrDefault() != null ? x.First().IdFuente : null
                }).ToList();

                foreach (var item in lst)
                {
                    //Se busca los ProyectoInversion asociados
                    var reg1 = (from datos1 in db.ProyectoInversions
                                where datos1.CodProyecto == item.CodProyecto &&
                                datos1.Concepto.Equals(item.Concepto) &&
                                datos1.AportadoPor.Equals(item.AportadoPor)
                                select datos1).SingleOrDefault();

                    //Si no existe se genera uno nuevo
                    if (reg1 == null)
                    {
                        ProyectoInversion nuevo = new ProyectoInversion()
                        {
                            CodProyecto          = item.CodProyecto,
                            Concepto             = item.Concepto,
                            Valor                = Convert.ToDecimal(item.Valor),
                            AportadoPor          = item.AportadoPor,
                            Semanas              = 0,
                            TipoInversion        = "Fija",
                            IdFuenteFinanciacion = item.IdFuenteFinanciacion
                        };

                        //Se almacena en el listado de nuevos registros
                        lstNuevos.Add(nuevo);
                    }
                    else
                    {
                        //Se actualizan los valores
                        reg1.AportadoPor          = item.AportadoPor;
                        reg1.Concepto             = item.Concepto;
                        reg1.Valor                = Convert.ToDecimal(item.Valor);
                        reg1.IdFuenteFinanciacion = item.IdFuenteFinanciacion;
                    }
                }

                lstBorrar = db.ProyectoInversions.Where(x => !reg2.Contains(x.Concepto + "|" + x.AportadoPor) && x.CodProyecto == codigoproyecto).ToList();


                db.ProyectoInversions.DeleteAllOnSubmit(lstBorrar);
                db.ProyectoInversions.InsertAllOnSubmit(lstNuevos);

                db.SubmitChanges();
            }
        }
        public ExpedienteTecnicoOP ObtieneXId(int pIntIdExpediente)
        {
            ExpedienteTecnicoOP objExpedienteTecnicoOP = null;

            try
            {
                ObrasPublicasEntities objContext = new ObrasPublicasEntities();

                var objResult = objContext.sp_gop_get_exp_x_id(pIntIdExpediente).ToList();

                List <sp_gop_get_exp_x_id_Result> lstExpediente = objResult;
                //var lstExpedientes = (from exp in objContext.OP_EXPEDIENTE_TECNICO
                //                      from ejecEmp in objContextIntegrado.MA_PERSONAJURIDICA
                //                          .Where(ejecEmp2 => ejecEmp2.idPersonaJuridica == exp.coEjecutor).DefaultIfEmpty()
                //                      from ejecPer in objContextIntegrado.MA_PERSONANATURAL
                //                              .Where(ejecPer => ejecPer.idPersonaNatural == exp.coEjecutor).DefaultIfEmpty()
                //                      join super in objContextIntegrado.MA_PERSONANATURAL on exp.coSupervisor equals super.idPersonaNatural
                //                      join contac in objContextIntegrado.MA_PERSONANATURAL on exp.coContacto equals contac.idPersonaNatural
                //                      join super2 in objContextIntegrado.MA_PERSONA on exp.coSupervisor equals super2.idPersona
                //                      join contac2 in objContextIntegrado.MA_PERSONA on exp.coContacto equals contac2.idPersona
                //                      join proy in objContext.OP_PROYECTO_INVERSION_PUBLICA on exp.coProyecto equals proy.coProyecto
                //                      where exp.coExpediente == pIntIdExpediente
                //                      select new { exp, ejecEmp, ejecPer, super, contac, contac2, super2, proy }).ToList();

                if (lstExpediente.Count == 1)
                {
                    var lstDocumentos = objContext.OP_DOCUMENTO_EXPEDIENTE_TECNICO.Where(doc => doc.coExpediente == pIntIdExpediente).ToList();

                    objExpedienteTecnicoOP = new ExpedienteTecnicoOP();
                    objExpedienteTecnicoOP.IdExpediente = pIntIdExpediente;

                    if (lstExpediente[0].coContacto.HasValue)
                    {
                        objExpedienteTecnicoOP.ContactoId = lstExpediente[0].coContacto.Value;
                    }
                    objExpedienteTecnicoOP.ContactoApe       = lstExpediente[0].CONT_APE_PAT;
                    objExpedienteTecnicoOP.ContactoDireccion = lstExpediente[0].CONT_DIRECCION;
                    objExpedienteTecnicoOP.ContactoEmail     = lstExpediente[0].CONT_CORREO;
                    objExpedienteTecnicoOP.ContactoNom       = lstExpediente[0].CONT_NOM;
                    objExpedienteTecnicoOP.ContactoTelefono  = lstExpediente[0].CONT_TELF;
                    objExpedienteTecnicoOP.Descripcion       = lstExpediente[0].txDescripcion;
                    if (lstExpediente[0].coEjecutor.HasValue)
                    {
                        objExpedienteTecnicoOP.EjecutorId = lstExpediente[0].coEjecutor.Value;
                    }
                    if (lstExpediente[0].EJEC_ID_PERN.HasValue)
                    {
                        objExpedienteTecnicoOP.EjecutorApe  = lstExpediente[0].EJEC_APE_PAT;
                        objExpedienteTecnicoOP.EjecutorNom  = lstExpediente[0].EJEC_NOM;
                        objExpedienteTecnicoOP.TipoEjecutor = "P";
                    }
                    if (lstExpediente[0].EJEC_ID_PERJ.HasValue)
                    {
                        objExpedienteTecnicoOP.EjecutorRazonSocial = lstExpediente[0].EJEC_RAZSOC;
                        objExpedienteTecnicoOP.TipoEjecutor        = "E";
                    }
                    objExpedienteTecnicoOP.Especificaciones = lstExpediente[0].txEspecificacionesTecnicas;
                    if (lstExpediente[0].coSupervisor.HasValue)
                    {
                        objExpedienteTecnicoOP.SupervisorId = lstExpediente[0].coSupervisor.Value;
                    }
                    objExpedienteTecnicoOP.SupervisorApe      = lstExpediente[0].SUP_APE_PAT;
                    objExpedienteTecnicoOP.SupervisorEmail    = lstExpediente[0].SUP_CORREO;
                    objExpedienteTecnicoOP.SupervisorNom      = lstExpediente[0].SUP_NOM;
                    objExpedienteTecnicoOP.SupervisorTelefono = lstExpediente[0].SUP_TELF;

                    if (lstExpediente[0].coProyecto.HasValue)
                    {
                        ProyectoInversion objProyectoInversion = new ProyectoInversion();
                        objProyectoInversion.IdProyecto = lstExpediente[0].coProyecto.Value;
                        objProyectoInversion.Nombre     = lstExpediente[0].NOM_PROYECTO;
                        objExpedienteTecnicoOP.Proyecto = objProyectoInversion;
                    }
                    if (lstExpediente[0].nuValorReferencial.HasValue)
                    {
                        objExpedienteTecnicoOP.ValorReferencial = lstExpediente[0].nuValorReferencial.Value;
                    }

                    List <DocumentoExpedienteTecnicoOP> lstDocumentosNew = new List <DocumentoExpedienteTecnicoOP>();
                    foreach (var objDocumento in lstDocumentos)
                    {
                        DocumentoExpedienteTecnicoOP objDocumentoExpedienteTecnicoOP = new DocumentoExpedienteTecnicoOP();
                        objDocumentoExpedienteTecnicoOP.Descripcion = objDocumento.txRutaArchivo;
                        if (objDocumento.feEmision.HasValue)
                        {
                            objDocumentoExpedienteTecnicoOP.FechaEmision = objDocumento.feEmision.Value;
                        }
                        objDocumentoExpedienteTecnicoOP.IdDocumento      = objDocumento.coDocumento;
                        objDocumentoExpedienteTecnicoOP.IdExpediente     = objDocumento.coExpediente;
                        objDocumentoExpedienteTecnicoOP.NomArchivo       = objDocumento.nomArchivo;
                        objDocumentoExpedienteTecnicoOP.RutaArchivo      = objDocumento.txRutaArchivo;
                        objDocumentoExpedienteTecnicoOP.NroDocumento     = objDocumento.nuNroDOcumento;
                        objDocumentoExpedienteTecnicoOP.TipoDocumento    = objDocumento.noTipoDocExpTec;
                        objDocumentoExpedienteTecnicoOP.Descripcion      = objDocumento.txDescripcion;
                        objDocumentoExpedienteTecnicoOP.NomTipoDocumento = ObtieneTiposDocumento(null).Where(doc => doc.Id == objDocumento.noTipoDocExpTec).First().Nombre;

                        lstDocumentosNew.Add(objDocumentoExpedienteTecnicoOP);
                    }
                    objExpedienteTecnicoOP.Documentos = lstDocumentosNew;
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.ToString());
            }
            return(objExpedienteTecnicoOP);
        }
Example #20
0
        /// <summary>
        /// actualizar
        /// </summary>
        public void Insertar()
        {
            try
            {
                entity = new ProyectoInfraestructura
                {
                    codProyecto            = codProyecto,
                    NomInfraestructura     = TxtNombre.Text.Trim(),
                    CodTipoInfraestructura = Convert.ToByte(DdlTpoInfraestructura.SelectedValue),
                    FechaCompra            = Convert.ToDateTime(TxtFecha.Text),
                    Unidad               = !string.IsNullOrEmpty(TxtUnidadTipo.Text) ? TxtUnidadTipo.Text.Trim() : string.Empty,
                    ValorCredito         = !string.IsNullOrEmpty(TxtPorcentaje.Text) ? Convert.ToInt32(TxtPorcentaje.Text.Trim()) : 0,
                    ValorUnidad          = (!string.IsNullOrEmpty(TxtValorU.Text) ? Convert.ToDecimal(TxtValorU.Text.Replace(",", "").Replace(".", ",")) : 0),
                    Cantidad             = (!string.IsNullOrEmpty(TxtCantidad.Text) ? Convert.ToDouble(TxtCantidad.Text.Trim()) : 0),
                    PeriodosAmortizacion = Convert.ToByte(DdlPeriodo.SelectedValue),
                    SistemaDepreciacion  = !string.IsNullOrEmpty(Txtsistema.Text) ? Txtsistema.Text.Trim() : string.Empty,
                };

                oConsultas.Db.ProyectoInfraestructuras.InsertOnSubmit(entity);
                oConsultas.Db.SubmitChanges();

                var oListItem = DdlTpoInfraestructura.Items.FindByValue(DdlTpoInfraestructura.SelectedValue);
                var objProyectInverBusqueda = (from pinver in oConsultas.Db.ProyectoInversions
                                               where pinver.CodProyecto == codProyecto && pinver.Concepto == oListItem.Text
                                               select pinver).FirstOrDefault();

                if (objProyectInverBusqueda == null)
                {
                    var valorU = TxtValorU.Text.Split('.');
                    var objProyectInversion = new ProyectoInversion
                    {
                        CodProyecto   = codProyecto,
                        Concepto      = oListItem.Text,
                        Valor         = int.Parse(valorU[0].Replace(",", "")) * int.Parse(TxtCantidad.Text),
                        AportadoPor   = "",
                        Semanas       = 0,
                        TipoInversion = "Fija"
                    };

                    oConsultas.Db.ProyectoInversions.InsertOnSubmit(objProyectInversion);
                    oConsultas.Db.SubmitChanges();
                }
                else
                {
                    var objConsulta = oConsultas.Db.ProyectoInversions.Single(
                        p => p.CodProyecto == codProyecto && p.Concepto == oListItem.Text);
                    var valorU = TxtValorU.Text.Split('.');
                    objConsulta.Valor += int.Parse(valorU[0].Replace(",", "")) * int.Parse(TxtCantidad.Text);
                    oConsultas.Db.SubmitChanges();
                }

                //ScriptManager.RegisterClientScriptBlock(this, GetType(), "Mensaje", "alert('Registro Creado Exitosamente!');", true);
                //ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Mensaje", "window.parent.location.reload();window.close();", true);
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Mensaje", "window.opener.location.href = window.opener.location.href;", true);
                this.ClientScript.RegisterClientScriptBlock(this.GetType(), "Close", "window.close()", true);
            }
            catch (Exception ex)
            {
                string mensaje = ex.Message;
            }
        }
        public List <EntregaMaterialOP> ObtieneEntregasXIdProyecto(int pIntIdProyecto)
        {
            List <EntregaMaterialOP> lstEntregas = new List <EntregaMaterialOP>();

            try
            {
                ObrasPublicasEntities objContext = new ObrasPublicasEntities();
                //MUNI_INTEGRADOEntities1 objContextIntegrado = new MUNI_INTEGRADOEntities1();

                var objResult = objContext.sp_gop_get_ent_mat_x_proy(pIntIdProyecto).ToList();

                List <sp_gop_get_ent_mat_x_proy_Result> lstEntregaTmp = objResult;

                //var lstEntregaTmp = (from ent in objContext.OP_ENTREGA_MATERIAL
                //                     join prov in objContextIntegrado.MA_PROVEEDOR on ent.coProveedor equals prov.IdProveedor
                //                     join emp in objContextIntegrado.MA_PERSONAJURIDICA on prov.IdPersona equals emp.idPersona
                //                  join mat in objContext.OP_MATERIAL on ent.coMaterial equals mat.coMaterial
                //                  select new { ent, prov,emp, mat }).ToList();
                //where(ent.coEntrega == pIntIdProyecto)

                foreach (var objEntregaTmp in lstEntregaTmp)
                {
                    EntregaMaterialOP objEntregaMaterialOP = new EntregaMaterialOP();

                    ProyectoInversion objProyectoInversion = new ProyectoInversion();

                    if (objEntregaTmp.coProyecto.HasValue)
                    {
                        objProyectoInversion.IdProyecto = objEntregaTmp.coProyecto.Value;
                    }
                    objEntregaMaterialOP.IdEntrega = objEntregaTmp.coEntrega;
                    objEntregaMaterialOP.Proyecto  = objProyectoInversion;

                    Proveedor objProveedor = new Proveedor();
                    objProveedor.IdProveedor       = objEntregaTmp.coProveedor;
                    objProveedor.RazonSocial       = objEntregaTmp.RazonSocial;
                    objEntregaMaterialOP.Proveedor = objProveedor;

                    if (objEntregaTmp.nuCantidad.HasValue)
                    {
                        objEntregaMaterialOP.Cantidad = objEntregaTmp.nuCantidad.Value;
                    }
                    if (objEntregaTmp.feEntregaEfectiva.HasValue)
                    {
                        objEntregaMaterialOP.FecEntregaEfec = objEntregaTmp.feEntregaEfectiva.Value;
                    }
                    if (objEntregaTmp.feEntregaProgramada.HasValue)
                    {
                        objEntregaMaterialOP.FecEntregaProg = objEntregaTmp.feEntregaProgramada.Value;
                    }

                    MaterialOP objMaterial = new MaterialOP();
                    objMaterial.IdMaterial        = objEntregaTmp.coMaterial;
                    objMaterial.Nombre            = objEntregaTmp.noMaterial;
                    objEntregaMaterialOP.Material = objMaterial;

                    objEntregaMaterialOP.Observaciones = objEntregaTmp.txObservaciones;
                    objEntregaMaterialOP.TipoEntrega   = objEntregaTmp.noTipoEntrega;
                    lstEntregas.Add(objEntregaMaterialOP);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.ToString());
            }
            return(lstEntregas);
        }
Example #22
0
        public List <ProyectoInversion> BuscarXFiltroConCronograma(String pStrCodSNIP, String pStrNombre, String pStrUbicacion, String pStrIdEstado)
        {
            List <ProyectoInversion> lstProyectos             = new List <ProyectoInversion>();
            ProyectoInversion_DAL    objProyectoInversion_DAL = new ProyectoInversion_DAL();

            try
            {
                if (String.IsNullOrWhiteSpace(pStrNombre))
                {
                    pStrNombre = "";
                }
                if (String.IsNullOrWhiteSpace(pStrUbicacion))
                {
                    pStrUbicacion = "";
                }
                if (String.IsNullOrWhiteSpace(pStrIdEstado))
                {
                    pStrIdEstado = "0";
                }

                //var lstProyectosTmp = (from pi in objContext.OP_PROYECTO_INVERSION_PUBLICA
                //                       join via in objContextIntegrado.MA_VIA on pi.coVia equals via.coVia
                //                       join exp in objContext.OP_EXPEDIENTE_TECNICO on pi.coProyecto equals exp.coProyecto
                //                       join cro in objContext.OP_CRONOGRAMA_EJECUCION on exp.coExpediente equals cro.coExpediente
                //                       where ((via.noTipoVia + " " + via.noNomVia + " " + pi.txUbicacion).ToLower().Contains(pStrUbicacion.ToLower()) || pStrUbicacion == "")
                //                       && (pi.noNombre.ToLower().Contains(pStrNombre.ToLower()) || pStrNombre == "")
                //                       && (pi.noEstado == pStrIdEstado || pStrIdEstado == "0")
                //                       select new { pi, via, exp, cro }).OrderBy(x=>x.exp.coExpediente).ThenBy(x=> x.cro.feEmision);

                ObrasPublicasEntities objContext = new ObrasPublicasEntities();
                var objResult = objContext.sp_gop_get_proy_con_cro(pStrNombre, pStrCodSNIP, pStrUbicacion, pStrIdEstado).ToList();

                List <sp_gop_get_proy_con_cro_Result> lstProyectosTmp = objResult;

                foreach (var objProyTmp in lstProyectosTmp)
                {
                    ProyectoInversion objProyecto = new ProyectoInversion();
                    objProyecto.CodSNIP    = objProyTmp.coSNIP;
                    objProyecto.Nombre     = objProyTmp.noNombre;
                    objProyecto.IdProyecto = objProyTmp.coProyecto;
                    objProyecto.Ubicacion  = objProyTmp.txUbicacion;
                    objProyecto.NomVia     = objProyTmp.noNomVia;
                    objProyecto.TipoVia    = objProyTmp.noTipoVia;
                    objProyecto.IdEstado   = objProyTmp.noEstado;
                    objProyecto.NomEstado  = ObtieneEstados(null).Where(e => e.Id == objProyTmp.noEstado).First().Nombre;

                    objProyecto.IdExpediente = objProyTmp.coExpediente;
                    objProyecto.IdCronograma = objProyTmp.coCronograma;
                    if (objProyTmp.feEmision.HasValue)
                    {
                        objProyecto.FechaEmisionCrono = objProyTmp.feEmision.Value;
                    }
                    if (objProyTmp.nuPlazoEjecucion.HasValue)
                    {
                        objProyecto.PlazoEjecucionCrono = objProyTmp.nuPlazoEjecucion.Value;
                    }
                    lstProyectos.Add(objProyecto);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.ToString());
            }
            return(lstProyectos);
        }
        public CronogramaEjecucionOP ObtieneXId(int pIntIdExpediente, int pIntIdCronograma)
        {
            CronogramaEjecucionOP objCronogramaEjecucionObra = null;
            try
            {
                ObrasPublicasEntities objContext = new ObrasPublicasEntities();

                var lstCronograma = (from cro in objContext.OP_CRONOGRAMA_EJECUCION
                                      join exp in objContext.OP_EXPEDIENTE_TECNICO on cro.coExpediente equals exp.coExpediente
                                      join proy in objContext.OP_PROYECTO_INVERSION_PUBLICA on exp.coProyecto equals proy.coProyecto
                                      where exp.coExpediente == pIntIdExpediente && cro.coCronograma == pIntIdCronograma
                                      select new { exp, proy, cro }).ToList();

                if (lstCronograma != null)
                {
                    objCronogramaEjecucionObra = new CronogramaEjecucionOP();

                    ProyectoInversion objProyectoInversion = new ProyectoInversion();
                    objProyectoInversion.IdProyecto = lstCronograma[0].proy.coProyecto;
                    objProyectoInversion.Nombre = lstCronograma[0].proy.noNombre;
                    objCronogramaEjecucionObra.ProyectoInversion = objProyectoInversion;

                    ExpedienteTecnicoOP objExpedienteTecnicoOP = new ExpedienteTecnicoOP();
                    objExpedienteTecnicoOP.IdExpediente = lstCronograma[0].exp.coExpediente;

                    objCronogramaEjecucionObra.ExpedienteTecnico = objExpedienteTecnicoOP;

                    if (lstCronograma[0].cro.feEmision.HasValue)
                    {
                        objCronogramaEjecucionObra.FechaEmision = lstCronograma[0].cro.feEmision.Value;
                    }
                    objCronogramaEjecucionObra.IdCronograma = lstCronograma[0].cro.coCronograma;
                    if (lstCronograma[0].cro.nuPlazoEjecucion.HasValue)
                    {
                        objCronogramaEjecucionObra.PlazoEjecucion = lstCronograma[0].cro.nuPlazoEjecucion.Value;
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.ToString());
            }
            return objCronogramaEjecucionObra;
        }
        public List<ProyectoInversion> BuscarXFiltroConCronograma(String pStrCodSNIP, String pStrNombre, String pStrUbicacion, String pStrIdEstado)
        {
            List<ProyectoInversion> lstProyectos = new List<ProyectoInversion>();
            ProyectoInversion_DAL objProyectoInversion_DAL = new ProyectoInversion_DAL();
            try
            {
                if (String.IsNullOrWhiteSpace(pStrNombre))
                {
                    pStrNombre = "";
                }
                if (String.IsNullOrWhiteSpace(pStrUbicacion))
                {
                    pStrUbicacion = "";
                }
                if (String.IsNullOrWhiteSpace(pStrIdEstado))
                {
                    pStrIdEstado = "0";
                }

                //var lstProyectosTmp = (from pi in objContext.OP_PROYECTO_INVERSION_PUBLICA
                //                       join via in objContextIntegrado.MA_VIA on pi.coVia equals via.coVia
                //                       join exp in objContext.OP_EXPEDIENTE_TECNICO on pi.coProyecto equals exp.coProyecto
                //                       join cro in objContext.OP_CRONOGRAMA_EJECUCION on exp.coExpediente equals cro.coExpediente
                //                       where ((via.noTipoVia + " " + via.noNomVia + " " + pi.txUbicacion).ToLower().Contains(pStrUbicacion.ToLower()) || pStrUbicacion == "")
                //                       && (pi.noNombre.ToLower().Contains(pStrNombre.ToLower()) || pStrNombre == "")
                //                       && (pi.noEstado == pStrIdEstado || pStrIdEstado == "0")
                //                       select new { pi, via, exp, cro }).OrderBy(x=>x.exp.coExpediente).ThenBy(x=> x.cro.feEmision);

                ObrasPublicasEntities objContext = new ObrasPublicasEntities();
                var objResult = objContext.sp_gop_get_proy_con_cro(pStrNombre, pStrCodSNIP, pStrUbicacion, pStrIdEstado).ToList();

                List<sp_gop_get_proy_con_cro_Result> lstProyectosTmp = objResult;

                foreach (var objProyTmp in lstProyectosTmp)
                {
                    ProyectoInversion objProyecto = new ProyectoInversion();
                    objProyecto.CodSNIP = objProyTmp.coSNIP;
                    objProyecto.Nombre = objProyTmp.noNombre;
                    objProyecto.IdProyecto = objProyTmp.coProyecto;
                    objProyecto.Ubicacion = objProyTmp.txUbicacion;
                    objProyecto.NomVia = objProyTmp.noNomVia;
                    objProyecto.TipoVia = objProyTmp.noTipoVia;
                    objProyecto.IdEstado = objProyTmp.noEstado;
                    objProyecto.NomEstado = ObtieneEstados(null).Where(e => e.Id == objProyTmp.noEstado).First().Nombre;

                    objProyecto.IdExpediente = objProyTmp.coExpediente;
                    objProyecto.IdCronograma = objProyTmp.coCronograma;
                    if (objProyTmp.feEmision.HasValue)
                    {
                        objProyecto.FechaEmisionCrono = objProyTmp.feEmision.Value;
                    }
                    if (objProyTmp.nuPlazoEjecucion.HasValue)
                    {
                        objProyecto.PlazoEjecucionCrono = objProyTmp.nuPlazoEjecucion.Value;
                    }
                    lstProyectos.Add(objProyecto);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.ToString());
            }
            return lstProyectos;
        }
        public ProyectoInversion ObtieneXId(int pIntIdProyecto)
        {
            ProyectoInversion objProyecto = null;
            try
            {
                ObrasPublicasEntities objContext = new ObrasPublicasEntities();

                //var lstProyectosTmp = (from pi in objContext.OP_PROYECTO_INVERSION_PUBLICA
                //                       join via in objContextIntegrado.MA_VIA on pi.coVia equals via.coVia
                //                       where pi.coProyecto == pIntIdProyecto
                //                       select new { pi, via }).ToList();

                var objResult = objContext.sp_gop_get_proy_x_id(pIntIdProyecto).ToList();

                List<sp_gop_get_proy_x_id_Result> lstProyectosTmp = objResult;

                //var lstProyectosTmp = objContext.op_proyecto_inversion_publica.Where(p => p.coProyecto == pIntIdProyecto).ToList();

                if (lstProyectosTmp.Count == 1)
                {
                    objProyecto = new ProyectoInversion();
                    objProyecto.CodSNIP = lstProyectosTmp[0].coSNIP;
                    objProyecto.IdProyecto = lstProyectosTmp[0].coProyecto;
                    objProyecto.Nombre = lstProyectosTmp[0].noNombre;
                    objProyecto.Ubicacion = lstProyectosTmp[0].txUbicacion;
                    objProyecto.IdVia = lstProyectosTmp[0].coVia;
                    objProyecto.Ubicacion = lstProyectosTmp[0].txUbicacion;
                    objProyecto.Descripcion = lstProyectosTmp[0].txDescripcion;
                    objProyecto.IdEstado = lstProyectosTmp[0].noEstado;
                    objProyecto.NomEstado = ObtieneEstados(null).Where(e => e.Id == lstProyectosTmp[0].noEstado).First().Nombre;
                    if (lstProyectosTmp[0].nuBeneficiarios.HasValue)
                    {
                        objProyecto.Beneficiarios = lstProyectosTmp[0].nuBeneficiarios.Value;
                    }
                    objProyecto.ValorReferencial = lstProyectosTmp[0].nuValorReferencialPerfil;
                    objProyecto.TipoVia = lstProyectosTmp[0].noTipoVia;
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.ToString());
            }
            return objProyecto;
        }
        public List<ProyectoInversion> BuscarXFiltro(String pStrCodSNIP, String pStrNombre, String pStrUbicacion, String pStrIdEstado)
        {
            List<ProyectoInversion> lstProyectos = new List<ProyectoInversion>();
            try
            {
                ObrasPublicasEntities objContext = new ObrasPublicasEntities();

                if (String.IsNullOrWhiteSpace(pStrNombre))
                {
                    pStrNombre = "";
                }
                if (String.IsNullOrWhiteSpace(pStrUbicacion))
                {
                    pStrUbicacion = "";
                }
                if (String.IsNullOrWhiteSpace(pStrIdEstado))
                {
                    pStrIdEstado = "0";
                }

                var objResult = objContext.sp_gop_get_proy_x_filtro(pStrNombre, pStrCodSNIP, pStrUbicacion, pStrIdEstado).ToList();

                List<sp_gop_get_proy_x_filtro_Result> lstProyectosTmp = objResult;

                foreach (var objProyTmp in lstProyectosTmp)
                {
                    ProyectoInversion objProyecto = new ProyectoInversion();
                    objProyecto.CodSNIP = objProyTmp.coSNIP;
                    objProyecto.Nombre = objProyTmp.noNombre;
                    objProyecto.IdProyecto = objProyTmp.coProyecto;
                    objProyecto.Ubicacion = objProyTmp.txUbicacion;
                    objProyecto.NomVia = objProyTmp.noNomVia;
                    objProyecto.TipoVia = objProyTmp.noTipoVia;
                    objProyecto.IdEstado = objProyTmp.noEstado;
                    objProyecto.NomEstado = ObtieneEstados(null).Where(e => e.Id == objProyTmp.noEstado).First().Nombre;

                    lstProyectos.Add(objProyecto);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.ToString());
            }
            return lstProyectos;
        }
        public EntregaMaterialOP ObtieneEntregaXId(int pIntIdProyecto, int pIntIdEntrega)
        {
            EntregaMaterialOP objEntregaMaterialOP = null;
            try
            {
                ObrasPublicasEntities objContext = new ObrasPublicasEntities();

                var objResult = objContext.sp_gop_get_ent_mat_x_id(pIntIdProyecto,pIntIdEntrega).ToList();

                List<sp_gop_get_ent_mat_x_id_Result> lstEntregaTmp = objResult;

                //var lstEntregasTmp = (from ent in objContext.OP_ENTREGA_MATERIAL
                //                      join prov in objContextIntegrado.MA_PROVEEDOR on ent.coProveedor equals prov.IdProveedor
                //                      join emp in objContextIntegrado.MA_PERSONAJURIDICA on prov.IdPersona equals emp.idPersona
                //                     join mat in objContext.OP_MATERIAL on ent.coMaterial equals mat.coMaterial
                //                     where( ent.coEntrega == pIntIdEntrega)
                //                     select new { ent, prov, emp, mat }).ToList();

                //where(ent.coEntrega == pIntIdProyecto)

                if (lstEntregaTmp != null && lstEntregaTmp.Count() == 1)
                {
                    foreach (var objEntregaTmp in lstEntregaTmp)
                    {
                        objEntregaMaterialOP = new EntregaMaterialOP();
                        objEntregaMaterialOP.IdEntrega = objEntregaTmp.coEntrega;

                        ProyectoInversion objProyectoInversion = new ProyectoInversion();
                        if (objEntregaTmp.coProyecto.HasValue) {
                            objProyectoInversion.IdProyecto = objEntregaTmp.coProyecto.Value;
                        }
                        objProyectoInversion.Nombre = objEntregaTmp.noNombre;
                        objEntregaMaterialOP.Proyecto = objProyectoInversion;

                        Proveedor objProveedor = new Proveedor();
                        objProveedor.IdProveedor = objEntregaTmp.coProveedor;
                        objProveedor.RazonSocial = objEntregaTmp.RazonSocial;
                        objEntregaMaterialOP.Proveedor = objProveedor;

                        if (objEntregaTmp.nuCantidad.HasValue)
                        {
                            objEntregaMaterialOP.Cantidad = objEntregaTmp.nuCantidad.Value;
                        }
                        if (objEntregaTmp.feEntregaEfectiva.HasValue)
                        {
                            objEntregaMaterialOP.FecEntregaEfec = objEntregaTmp.feEntregaEfectiva.Value;
                        }
                        if (objEntregaTmp.feEntregaProgramada.HasValue)
                        {
                            objEntregaMaterialOP.FecEntregaProg = objEntregaTmp.feEntregaProgramada.Value;
                        }

                        MaterialOP objMaterial = new MaterialOP();
                        objMaterial.IdMaterial = objEntregaTmp.coMaterial;
                        objMaterial.Nombre = objEntregaTmp.noMaterial;
                        objEntregaMaterialOP.Material = objMaterial;

                        objEntregaMaterialOP.Observaciones = objEntregaTmp.txObservaciones;
                        objEntregaMaterialOP.TipoEntrega = objEntregaTmp.noTipoEntrega;
                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.ToString());
            }
            return objEntregaMaterialOP;
        }
        public ExpedienteTecnicoOP ObtieneXId(int pIntIdExpediente)
        {
            ExpedienteTecnicoOP objExpedienteTecnicoOP = null;
            try
            {
                ObrasPublicasEntities objContext = new ObrasPublicasEntities();

                var objResult = objContext.sp_gop_get_exp_x_id(pIntIdExpediente).ToList();

                List<sp_gop_get_exp_x_id_Result> lstExpediente = objResult;
                //var lstExpedientes = (from exp in objContext.OP_EXPEDIENTE_TECNICO
                //                      from ejecEmp in objContextIntegrado.MA_PERSONAJURIDICA
                //                          .Where(ejecEmp2 => ejecEmp2.idPersonaJuridica == exp.coEjecutor).DefaultIfEmpty()
                //                      from ejecPer in objContextIntegrado.MA_PERSONANATURAL
                //                              .Where(ejecPer => ejecPer.idPersonaNatural == exp.coEjecutor).DefaultIfEmpty()
                //                      join super in objContextIntegrado.MA_PERSONANATURAL on exp.coSupervisor equals super.idPersonaNatural
                //                      join contac in objContextIntegrado.MA_PERSONANATURAL on exp.coContacto equals contac.idPersonaNatural
                //                      join super2 in objContextIntegrado.MA_PERSONA on exp.coSupervisor equals super2.idPersona
                //                      join contac2 in objContextIntegrado.MA_PERSONA on exp.coContacto equals contac2.idPersona
                //                      join proy in objContext.OP_PROYECTO_INVERSION_PUBLICA on exp.coProyecto equals proy.coProyecto
                //                      where exp.coExpediente == pIntIdExpediente
                //                      select new { exp, ejecEmp, ejecPer, super, contac, contac2, super2, proy }).ToList();

                if (lstExpediente.Count == 1)
                {
                    var lstDocumentos = objContext.OP_DOCUMENTO_EXPEDIENTE_TECNICO.Where(doc => doc.coExpediente == pIntIdExpediente).ToList();

                    objExpedienteTecnicoOP = new ExpedienteTecnicoOP();
                    objExpedienteTecnicoOP.IdExpediente = pIntIdExpediente;

                    if (lstExpediente[0].coContacto.HasValue) {
                        objExpedienteTecnicoOP.ContactoId = lstExpediente[0].coContacto.Value;
                    }
                    objExpedienteTecnicoOP.ContactoApe = lstExpediente[0].CONT_APE_PAT;
                    objExpedienteTecnicoOP.ContactoDireccion = lstExpediente[0].CONT_DIRECCION;
                    objExpedienteTecnicoOP.ContactoEmail = lstExpediente[0].CONT_CORREO;
                    objExpedienteTecnicoOP.ContactoNom = lstExpediente[0].CONT_NOM;
                    objExpedienteTecnicoOP.ContactoTelefono = lstExpediente[0].CONT_TELF;
                    objExpedienteTecnicoOP.Descripcion = lstExpediente[0].txDescripcion;
                    if (lstExpediente[0].coEjecutor.HasValue) {
                        objExpedienteTecnicoOP.EjecutorId = lstExpediente[0].coEjecutor.Value;
                    }
                    if (lstExpediente[0].EJEC_ID_PERN.HasValue)
                    {
                        objExpedienteTecnicoOP.EjecutorApe = lstExpediente[0].EJEC_APE_PAT;
                        objExpedienteTecnicoOP.EjecutorNom = lstExpediente[0].EJEC_NOM;
                        objExpedienteTecnicoOP.TipoEjecutor = "P";
                    }
                    if (lstExpediente[0].EJEC_ID_PERJ.HasValue)
                    {
                        objExpedienteTecnicoOP.EjecutorRazonSocial = lstExpediente[0].EJEC_RAZSOC;
                        objExpedienteTecnicoOP.TipoEjecutor = "E";
                    }
                    objExpedienteTecnicoOP.Especificaciones = lstExpediente[0].txEspecificacionesTecnicas;
                    if (lstExpediente[0].coSupervisor.HasValue) {
                        objExpedienteTecnicoOP.SupervisorId = lstExpediente[0].coSupervisor.Value;
                    }
                    objExpedienteTecnicoOP.SupervisorApe = lstExpediente[0].SUP_APE_PAT;
                    objExpedienteTecnicoOP.SupervisorEmail = lstExpediente[0].SUP_CORREO;
                    objExpedienteTecnicoOP.SupervisorNom = lstExpediente[0].SUP_NOM;
                    objExpedienteTecnicoOP.SupervisorTelefono = lstExpediente[0].SUP_TELF;

                    if (lstExpediente[0].coProyecto.HasValue)
                    {
                        ProyectoInversion objProyectoInversion = new ProyectoInversion();
                        objProyectoInversion.IdProyecto = lstExpediente[0].coProyecto.Value;
                        objProyectoInversion.Nombre = lstExpediente[0].NOM_PROYECTO;
                        objExpedienteTecnicoOP.Proyecto = objProyectoInversion;
                    }
                    if (lstExpediente[0].nuValorReferencial.HasValue)
                    {
                        objExpedienteTecnicoOP.ValorReferencial = lstExpediente[0].nuValorReferencial.Value;
                    }

                    List<DocumentoExpedienteTecnicoOP> lstDocumentosNew = new List<DocumentoExpedienteTecnicoOP>();
                    foreach (var objDocumento in lstDocumentos)
                    {
                        DocumentoExpedienteTecnicoOP objDocumentoExpedienteTecnicoOP = new DocumentoExpedienteTecnicoOP();
                        objDocumentoExpedienteTecnicoOP.Descripcion = objDocumento.txRutaArchivo;
                        if (objDocumento.feEmision.HasValue)
                        {
                            objDocumentoExpedienteTecnicoOP.FechaEmision = objDocumento.feEmision.Value;
                        }
                        objDocumentoExpedienteTecnicoOP.IdDocumento = objDocumento.coDocumento;
                        objDocumentoExpedienteTecnicoOP.IdExpediente = objDocumento.coExpediente;
                        objDocumentoExpedienteTecnicoOP.NomArchivo = objDocumento.nomArchivo;
                        objDocumentoExpedienteTecnicoOP.RutaArchivo = objDocumento.txRutaArchivo;
                        objDocumentoExpedienteTecnicoOP.NroDocumento = objDocumento.nuNroDOcumento;
                        objDocumentoExpedienteTecnicoOP.TipoDocumento = objDocumento.noTipoDocExpTec;
                        objDocumentoExpedienteTecnicoOP.Descripcion = objDocumento.txDescripcion;
                        objDocumentoExpedienteTecnicoOP.NomTipoDocumento = ObtieneTiposDocumento(null).Where(doc => doc.Id == objDocumento.noTipoDocExpTec).First().Nombre;

                        lstDocumentosNew.Add(objDocumentoExpedienteTecnicoOP);
                    }
                    objExpedienteTecnicoOP.Documentos = lstDocumentosNew;
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.ToString());
            }
            return objExpedienteTecnicoOP;
        }