/// <summary> /// Listado de avance de ventas por mes /// </summary> /// <param name="CodProducto"> Codigo de producto </param> /// <returns> Listado de avance de ventas por mes </returns> public List <AvanceVentasPOMes> TraerAvanceVentasPOMes(int CodProducto) { List <AvanceVentasPOMes> lista = new List <AvanceVentasPOMes>(); try { 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 AvanceVentasPOMes "); sbQuery.Append(" WHERE CodProducto = " + CodProducto); db.Open(); reader = db.ExecuteDataReader(sbQuery.ToString(), CommandType.Text); AvanceVentasPOMes oAvance = new AvanceVentasPOMes(); while (reader.Read()) { oAvance = new AvanceVentasPOMes(); 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(AvanceVentasPOMes avance, decimal _Ingreso, int _CodProyecto) { HistoricoAvanceModel avanceHis = new HistoricoAvanceModel { codActividad = avance.CodProducto, codContacto = usuario.IdContacto, FechaAvanceEmprendedor = avance.FechaAvance, Mes = avance.Mes, Ventas = avance.Valor, Ingreso = _Ingreso, fechaRegistro = DateTime.Now, ObservacionEmprendedor = avance.Observaciones, ObservacionInterventor = avance.ObservacionesInterventor, FechaAvanceInterventor = avance.FechaAprobacion, Aprobada = avance.Aprobada, codProyecto = _CodProyecto }; AvancesInterventoriaReg.insertarHistoricoVentas(avanceHis); }
private void Metodos() { switch (B_Acion.Text) { case "Crear": var mensaje = Validar(B_Acion.Text); if (string.IsNullOrEmpty(mensaje)) { var consultar = (from av in consultas.Db.AvanceVentasPOMes where av.CodProducto == CodVenta && av.Mes == Mes select av).ToList(); if (consultar.Count == 0) { var avance = new AvanceVentasPOMes { CodProducto = CodVenta, 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.AvanceVentasPOMes.InsertOnSubmit(avance); consultas.Db.SubmitChanges(); var avance2 = new AvanceVentasPOMes { CodProducto = CodVenta, 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.AvanceVentasPOMes.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 ventas. Se ha creado una actividad."; TareaAgendar(CodVenta, codProyecto, usuario.IdContacto, datos[0].idContacto, datos[0].nombre, NombreVenta, asunto, txt_observaciones.Text.Trim()); } Session["CodVenta"] = null; Session["Accion"] = null; Session["MesVenta"] = null; 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 avancesVentas = (from aa in consultas.Db.AvanceVentasPOMes where aa.CodProducto == CodVenta && aa.Mes == Mes select aa).ToList(); foreach (var avance in avancesVentas) { 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"); } var avancesActividadTipo1 = (from ap in consultas.Db.AvanceVentasPOMes where ap.CodProducto == CodVenta && 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 AvanceVentasPOMes() { Mes = Convert.ToByte(Mes), CodProducto = CodVenta, 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.AvanceVentasPOMes.InsertOnSubmit(avanceMes); } var avancesActividadTipo2 = (from ap in consultas.Db.AvanceVentasPOMes where ap.CodProducto == CodVenta && 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 AvanceVentasPOMes() { Mes = Convert.ToByte(Mes), CodProducto = CodVenta, 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.AvanceVentasPOMes.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 _Ingreso = 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, _Ingreso, codProyecto); var asunto = "Revisar Actividad de ventas. Se ha modificado una actividad."; TareaAgendar(CodVenta, codProyecto, usuario.IdContacto, datos[0].idContacto, datos[0].nombre, NombreVenta, asunto, txt_observaciones.Text.Trim()); Session["CodVenta"] = null; Session["Accion"] = null; Session["MesVenta"] = null; ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Mensaje", "alert('Información de ventas 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 avancesVentas = (from aa in consultas.Db.AvanceVentasPOMes where aa.CodProducto == CodVenta && aa.Mes == Mes select aa).ToList(); foreach (var avance in avancesVentas) { 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 _Ingreso = decimal.Parse((!string.IsNullOrEmpty(txt_prestaciones_obtenidas.Text)) ? txt_prestaciones_obtenidas.Text.Replace(".", ",") : "0"); var hisAvance = avancesVentas.Where(x => x.CodTipoFinanciacion == 1).FirstOrDefault(); //Insertar Historico insertarHistorico(hisAvance, _Ingreso, codProyecto); var asunto = "Revisar Actividad de ventas. Se ha modificado una actividad."; TareaAgendar(CodVenta, codProyecto, usuario.IdContacto, datos[0].idContacto, datos[0].nombre, NombreVenta, asunto, txt_observaciones.Text.Trim()); Session["CodVenta"] = null; Session["Accion"] = null; Session["MesVenta"] = null; ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Mensaje", "alert('Información de venta procesada correctamente.'); window.close();", true); } else { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Mensaje", "alert('" + mensaje + "');", true); } } break; } }