/// <summary> /// Listado de avances de cargo por mes /// </summary> /// <param name="CodCargo"> Codigo de cargo </param> /// <returns> Listado de avances de cargo por mes </returns> public List <AvanceCargoPOMes> TraerAvanceCargoPOMes(int CodCargo) { List <AvanceCargoPOMes> lista = new List <AvanceCargoPOMes>(); try { IDataReader reader; sbQuery = new StringBuilder(); sbQuery.Append(" SELECT CodCargo "); sbQuery.Append(" ,Mes "); sbQuery.Append(" ,CodTipoFinanciacion "); sbQuery.Append(" ,Valor "); sbQuery.Append(" ,Observaciones "); sbQuery.Append(" ,CodContacto "); sbQuery.Append(" ,ObservacionesInterventor"); sbQuery.Append(" ,Aprobada "); sbQuery.Append(" FROM AvanceCargoPOMes "); sbQuery.Append(" WHERE CodCargo = " + CodCargo); db.Open(); reader = db.ExecuteDataReader(sbQuery.ToString(), CommandType.Text); AvanceCargoPOMes oAvance = new AvanceCargoPOMes(); while (reader.Read()) { oAvance = new AvanceCargoPOMes(); oAvance.CodCargo = Convert.ToInt32(reader["CodCargo"]); oAvance.Mes = Convert.ToByte(reader["Mes"]); oAvance.CodTipoFinanciacion = Convert.ToByte(reader["CodTipoFinanciacion"]); oAvance.Valor = Convert.ToDecimal(reader["Valor"]); oAvance.Observaciones = reader["Observaciones"].ToString(); if (!DBNull.Value.Equals(reader["CodContacto"])) { oAvance.CodContacto = Convert.ToInt32(reader["CodContacto"]); } oAvance.ObservacionesInterventor = reader["ObservacionesInterventor"].ToString(); if (!DBNull.Value.Equals(reader["Aprobada"])) { oAvance.Aprobada = Convert.ToBoolean(reader["Aprobada"]); } lista.Add(oAvance); } reader.Close(); } catch (Exception) { throw; } finally { db.Close(); } return(lista); }
private void insertarHistorico(AvanceCargoPOMes avance, decimal _prestaciones, int _CodProyecto) { HistoricoAvanceModel avanceHis = new HistoricoAvanceModel { codActividad = avance.CodCargo, codContacto = usuario.IdContacto, FechaAvanceEmprendedor = avance.FechaAvance, Mes = avance.Mes, ValorSueldo = avance.Valor, ValorPrestaciones = _prestaciones, fechaRegistro = DateTime.Now, ObservacionEmprendedor = avance.Observaciones, ObservacionInterventor = avance.ObservacionesInterventor, FechaAvanceInterventor = avance.FechaAprobacion, Aprobada = avance.Aprobada, codProyecto = _CodProyecto }; AvancesInterventoriaReg.insertarHistoricoNomina(avanceHis); }
private void Metodos() { //var parametros = Session["CodActividad2"].ToString().Split(';'); switch (B_Acion.Text) { case "Crear": var mensaje = Validar(B_Acion.Text); if (string.IsNullOrEmpty(mensaje)) { var consultar = (from an in consultas.Db.AvanceCargoPOMes where an.CodCargo == int.Parse(CodNomina) && an.Mes == Mes select an).ToList(); if (consultar.Count == 0) { var avance = new AvanceCargoPOMes { CodCargo = int.Parse(CodNomina), Mes = Convert.ToByte(Mes), CodTipoFinanciacion = 1, Valor = decimal.Parse((!string.IsNullOrEmpty(txt_sueldo_obtenido.Text)) ? txt_sueldo_obtenido.Text : "0"), Observaciones = txt_observaciones.Text, CodContacto = usuario.IdContacto, ObservacionesInterventor = "", Aprobada = false, FechaAvance = DateTime.Now }; consultas.Db.AvanceCargoPOMes.InsertOnSubmit(avance); consultas.Db.SubmitChanges(); var avance2 = new AvanceCargoPOMes { CodCargo = int.Parse(CodNomina), Mes = Convert.ToByte(Mes), CodTipoFinanciacion = 2, Valor = decimal.Parse((!string.IsNullOrEmpty(txt_prestaciones_obtenidas.Text)) ? txt_prestaciones_obtenidas.Text : "0"), Observaciones = txt_observaciones.Text, CodContacto = usuario.IdContacto, ObservacionesInterventor = "", Aprobada = false, FechaAvance = DateTime.Now }; consultas.Db.AvanceCargoPOMes.InsertOnSubmit(avance2); consultas.Db.SubmitChanges(); //Consultar Id Interventor para agendar tarea var datos = (from ei in consultas.Db.EmpresaInterventors join ee in consultas.Db.Empresas on ei.CodEmpresa equals ee.id_empresa join p in consultas.Db.Proyecto on ee.codproyecto equals p.Id_Proyecto where ee.codproyecto == CodProyecto && ei.Inactivo == false select new datosAgendar { idContacto = (int)ei.CodContacto, idProyecto = (int)p.Id_Proyecto, nombre = p.NomProyecto }).ToList(); //Insertar Historico insertarHistorico(avance, avance2.Valor, CodProyecto); var asunto = "Revisar Actividad de Nómina. Se ha creado una actividad."; TareaAgendar(int.Parse(CodNomina), CodProyecto, usuario.IdContacto, datos[0].idContacto, datos[0].nombre, NombreDelCargo, asunto, txt_observaciones.Text.Trim()); } ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Mensaje", "alert('Avance registrado.'); window.close();", true); } else { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Mensaje", "alert('" + mensaje + "');", true); } break; case "Actualizar": if (usuario.CodGrupo == Constantes.CONST_Emprendedor) { mensaje = Validar(B_Acion.Text); if (string.IsNullOrEmpty(mensaje)) { var avancesNomina = (from an in consultas.Db.AvanceCargoPOMes where an.CodCargo == int.Parse(CodNomina) && an.Mes == Mes select an).ToList(); foreach (var avance in avancesNomina) { avance.FechaAvance = DateTime.Now; avance.Observaciones = txt_observaciones.Text.Trim(); avance.Valor = (avance.CodTipoFinanciacion == 1) ? decimal.Parse((!string.IsNullOrEmpty(txt_sueldo_obtenido.Text)) ? txt_sueldo_obtenido.Text : "0") : decimal.Parse((!string.IsNullOrEmpty(txt_prestaciones_obtenidas.Text)) ? txt_prestaciones_obtenidas.Text : "0"); } consultas.Db.SubmitChanges(); //Consultar Id Interventor para agendar tarea var datos = (from ei in consultas.Db.EmpresaInterventors join ee in consultas.Db.Empresas on ei.CodEmpresa equals ee.id_empresa join p in consultas.Db.Proyecto on ee.codproyecto equals p.Id_Proyecto where ee.codproyecto == CodProyecto && ei.Inactivo == false select new datosAgendar { idContacto = (int)ei.CodContacto, idProyecto = (int)p.Id_Proyecto, nombre = p.NomProyecto }).ToList(); decimal valorPrestaciones = decimal.Parse((!string.IsNullOrEmpty(txt_prestaciones_obtenidas.Text)) ? txt_prestaciones_obtenidas.Text.Replace(".", ",") : "0"); var avanceHis = avancesNomina.Where(x => x.CodTipoFinanciacion == 1).FirstOrDefault(); //Insertar Historico insertarHistorico(avanceHis, valorPrestaciones, CodProyecto); var asunto = "Revisar Actividad de nomina. Se ha modificado una actividad."; TareaAgendar(int.Parse(CodNomina), CodProyecto, usuario.IdContacto, datos[0].idContacto, datos[0].nombre, NombreDelCargo, asunto, txt_observaciones.Text.Trim()); ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Mensaje", "alert('Información de nomina procesada correctamente.'); window.close();", true); } else { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Mensaje", "alert('" + mensaje + "');", true); } } else { mensaje = Validar(B_Acion.Text); if (string.IsNullOrEmpty(mensaje)) { var avancesNomina = (from an in consultas.Db.AvanceCargoPOMes where an.CodCargo == int.Parse(CodNomina) && an.Mes == Mes select an).ToList(); foreach (var avance in avancesNomina) { avance.FechaAprobacion = DateTime.Now; avance.ObservacionesInterventor = txt_observ_interventor.Text.Trim(); avance.Aprobada = (dd_aprobado.SelectedValue == "0") ? false : true; } consultas.Db.SubmitChanges(); //consulta Id del emprendedor para agendar tarea var datos = (from pc in consultas.Db.ProyectoContactos join p in consultas.Db.Proyecto on pc.CodProyecto equals p.Id_Proyecto where pc.CodProyecto == CodProyecto && pc.CodRol == 3 select new datosAgendar { idContacto = pc.CodContacto, idProyecto = p.Id_Proyecto, nombre = p.NomProyecto }).ToList(); decimal valorPrestaciones = decimal.Parse((!string.IsNullOrEmpty(txt_prestaciones_obtenidas.Text)) ? txt_prestaciones_obtenidas.Text.Replace(".", ",") : "0"); var avanceHis = avancesNomina.Where(x => x.CodTipoFinanciacion == 1).FirstOrDefault(); //Insertar Historico insertarHistorico(avanceHis, valorPrestaciones, CodProyecto); var asunto = "Revisar Actividad de nomina. Se ha modificado una actividad."; TareaAgendar(int.Parse(CodNomina), CodProyecto, usuario.IdContacto, datos[0].idContacto, datos[0].nombre, NombreDelCargo, asunto, txt_observaciones.Text.Trim()); ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Mensaje", "alert('Información de nomina procesada correctamente.'); window.close();", true); } else { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Mensaje", "alert('" + mensaje + "');", true); } } break; } }