/// <summary> /// Listado de avance de producciones por mes /// </summary> /// <param name="CodProducto"> Codigo de producto</param> /// <returns>Listado de avance de producciones por mes</returns> public List <AvanceProduccionPOMes> TraerAvanceProduccionPOMes(int CodProducto) { List <AvanceProduccionPOMes> lista = new List <AvanceProduccionPOMes>(); IDataReader reader; sbQuery = new StringBuilder(); sbQuery.Append(" SELECT CodProducto "); sbQuery.Append(" ,Mes "); sbQuery.Append(" ,CodTipoFinanciacion "); sbQuery.Append(" ,Valor "); sbQuery.Append(" ,Observaciones "); sbQuery.Append(" ,CodContacto "); sbQuery.Append(" ,ObservacionesInterventor"); sbQuery.Append(" ,Aprobada "); sbQuery.Append(" FROM AvanceProduccionPOMes "); sbQuery.Append(" WHERE CodProducto = " + CodProducto); try { db.Open(); reader = db.ExecuteDataReader(sbQuery.ToString(), CommandType.Text); AvanceProduccionPOMes oAvance = new AvanceProduccionPOMes(); while (reader.Read()) { oAvance = new AvanceProduccionPOMes(); oAvance.CodProducto = Convert.ToInt32(reader["CodProducto"]); 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(AvanceProduccionPOMes avance, decimal _costo, int _CodProyecto) { HistoricoAvanceModel avanceHis = new HistoricoAvanceModel { codActividad = avance.CodProducto, codContacto = usuario.IdContacto, FechaAvanceEmprendedor = avance.FechaAvance, Mes = avance.Mes, Cantidad = avance.Valor, Costo = _costo, fechaRegistro = DateTime.Now, ObservacionEmprendedor = avance.Observaciones, ObservacionInterventor = avance.ObservacionesInterventor, FechaAvanceInterventor = avance.FechaAprobacion, Aprobada = avance.Aprobada, codProyecto = _CodProyecto }; AvancesInterventoriaReg.insertarHistoricoProduccion(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 ap in consultas.Db.AvanceProduccionPOMes where ap.CodProducto == CodProduccion && ap.Mes == Mes select ap).ToList(); if (consultar.Count == 0) { var avance = new AvanceProduccionPOMes { CodProducto = CodProduccion, 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.AvanceProduccionPOMes.InsertOnSubmit(avance); consultas.Db.SubmitChanges(); var avance2 = new AvanceProduccionPOMes { CodProducto = CodProduccion, 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.AvanceProduccionPOMes.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 Producción. Se ha creado una actividad."; TareaAgendar(CodProduccion, codProyecto, usuario.IdContacto, datos[0].idContacto, datos[0].nombre, nombreProduccion, asunto, txt_observaciones.Text.Trim()); } Session["Accion"] = null; Session["MesDelProductoSeleccionado"] = null; Session["CodProduccion"] = null; ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Mensaje", "alert('Información de producción creada correctamente.'); 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 avancesActividadTipo1 = (from ap in consultas.Db.AvanceProduccionPOMes where ap.CodProducto == CodProduccion && ap.Mes == Mes && ap.CodTipoFinanciacion == 1 select ap).ToList(); if (avancesActividadTipo1.Any()) { foreach (var avance in avancesActividadTipo1) { 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"); } } else { var avanceMes = new AvanceProduccionPOMes() { Mes = Convert.ToByte(Mes), CodProducto = CodProduccion, CodTipoFinanciacion = 1, Aprobada = false, CodContacto = usuario.IdContacto, Observaciones = txt_observaciones.Text.Trim(), ObservacionesInterventor = string.Empty, Valor = decimal.Parse((!string.IsNullOrEmpty(txt_sueldo_obtenido.Text)) ? txt_sueldo_obtenido.Text : "0") }; consultas.Db.AvanceProduccionPOMes.InsertOnSubmit(avanceMes); } var avancesActividadTipo2 = (from ap in consultas.Db.AvanceProduccionPOMes where ap.CodProducto == CodProduccion && ap.Mes == Mes && ap.CodTipoFinanciacion == 2 select ap).ToList(); if (avancesActividadTipo2.Any()) { foreach (var avance in avancesActividadTipo2) { 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"); } } else { var avanceMes = new AvanceProduccionPOMes() { Mes = Convert.ToByte(Mes), CodProducto = CodProduccion, CodTipoFinanciacion = 2, Aprobada = false, CodContacto = usuario.IdContacto, Observaciones = txt_observaciones.Text.Trim(), ObservacionesInterventor = string.Empty, Valor = decimal.Parse((!string.IsNullOrEmpty(txt_sueldo_obtenido.Text)) ? txt_sueldo_obtenido.Text : "0") }; consultas.Db.AvanceProduccionPOMes.InsertOnSubmit(avanceMes); } 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 valorcosto = decimal.Parse((!string.IsNullOrEmpty(txt_prestaciones_obtenidas.Text)) ? txt_prestaciones_obtenidas.Text.Replace(".", ",") : "0"); var hisAvance = avancesActividadTipo1.Where(x => x.CodTipoFinanciacion == 1).FirstOrDefault(); //Insertar Historico insertarHistorico(hisAvance, valorcosto, codProyecto); var asunto = "Revisar Actividad de Prtoducción. Se ha modificado una actividad."; TareaAgendar(CodProduccion, codProyecto, usuario.IdContacto, datos[0].idContacto, datos[0].nombre, nombreProduccion, asunto, txt_observaciones.Text.Trim()); Session["Accion"] = null; Session["MesDelProductoSeleccionado"] = null; Session["CodProduccion"] = null; ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Mensaje", "alert('Información de Producción 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 avancesActividad = (from ap in consultas.Db.AvanceProduccionPOMes where ap.CodProducto == CodProduccion && ap.Mes == Mes select ap).ToList(); foreach (var avance in avancesActividad) { 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 valorcosto = decimal.Parse((!string.IsNullOrEmpty(txt_prestaciones_obtenidas.Text)) ? txt_prestaciones_obtenidas.Text.Replace(".", ",") : "0"); var hisAvance = avancesActividad.Where(x => x.CodTipoFinanciacion == 1).FirstOrDefault(); //Insertar Historico insertarHistorico(hisAvance, valorcosto, codProyecto); var asunto = "Revisar Actividad de Producción. Se ha modificado una actividad."; TareaAgendar(CodProduccion, codProyecto, usuario.IdContacto, datos[0].idContacto, datos[0].nombre, nombreProduccion, asunto, txt_observaciones.Text.Trim()); ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Mensaje", "alert('Información de Producción procesada correctamente.'); window.close();", true); } else { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Mensaje", "alert('" + mensaje + "');", true); } } break; } }