Пример #1
0
        public static int Guardar(GestionEntity gestion)
        {
            Parametros parametros = new Parametros
            {
                new Parametro("@ges_bcam_uid", gestion.IdBaseCampagna),
                new Parametro("@ges_fecha_accion", gestion.FechaAccion),
                new Parametro("@ges_fecha_compromete", gestion.FechaCompromete),
                new Parametro("@ges_descripcion_gst", gestion.Descripcion),
                new Parametro("@ges_estado_gst", gestion.IdEstado),
                new Parametro("@ges_ejecutivo_rut", gestion.RutEjecutivo),
                new Parametro("@ges_oficina", gestion.IdOficina),
            };

            return(DBHelper.InstanceCRM.ObtenerEscalar <int>("spMotor_Gestion_Guardar", parametros));
        }
Пример #2
0
        /// <summary>
        /// Guarda la entidad de dominio <see cref="GestionEntity"/> en la Base de Datos
        /// </summary>
        /// <author>@Charly</author>
        /// <created>05-09-2017 23:41:26</created>
        /// <param name="gestion">Referencia a una clase <see cref="GestionEntity"/>.</param>
        /// <returns>Clave primaria resultante de la operación</returns>
        public static long Guardar(GestionEntity gestion)
        {
            Parametros parametros = new Parametros
            {
                new Parametro("@CodGestion", gestion.CodGestion),
                new Parametro("@CodAsignacion", gestion.CodAsignacion),
                new Parametro("@FechaAccion", gestion.FechaAccion),
                new Parametro("@FechaCompromiso", gestion.FechaCompromiso),
                new Parametro("@CodEstadoGestion", gestion.CodEstadoGestion),
                new Parametro("@NotaGestion", gestion.NotaGestion),
                new Parametro("@RutEjecutivo", gestion.RutEjecutivo),
                new Parametro("@CodOficina", gestion.CodOficina),
            };

            return(DBHelper.InstanceEngine.ObtenerEscalar <long>("engine.sp_Gestion_Guardar", parametros));
        }
Пример #3
0
        public ResultadoPostWeb guardaGestion(GestionWeb entrada)
        {
            ResultadoPostWeb resolucion = new ResultadoPostWeb();

            try
            {
                GestionEntity GesSave = GestionEntity.ParseWeb(entrada);
                GestionData.Guardar(GesSave);

                resolucion.Codigo      = 1;
                resolucion.Descripcion = "Gestión guardada con éxito";
                resolucion.Objeto      = gestBase(GesSave.CodAsignacion);
            }
            catch (Exception ex)
            {
                resolucion.Codigo      = 0;
                resolucion.Descripcion = "Gestión no guardada por errores " + ex.Message;
            }

            return(resolucion);
        }
Пример #4
0
        public IEnumerable <dynamic> listarAsgLlenita(int cc, string re)
        {
            var salida = new List <dynamic>();
            List <AsignacionEntity> asigs = AsignacionData.ObtenerEntidadesByEjecutivo(re, cc);

            asigs.ForEach(asg => {
                EntidadEntity ent           = EntidadData.ObtenerPorID(asg.RutEntidad);
                GestionEntity UltimaGestion = GestionData.ObtenerEntidades().FindAll(d => d.CodAsignacion == asg.CodAsignacion).OrderByDescending(f => f.FechaAccion).FirstOrDefault();
                int codEstado_UltimaGestion = (UltimaGestion != null) ? UltimaGestion.CodEstadoGestion : 0;
                dynamic x       = new ExpandoObject();
                x.RutEntidad    = asg.RutEntidad;
                x.DvEntidad     = ent.DvEntidad;
                x.Nombre        = ent.NombreEntidad;
                x.CodAsignacion = asg.CodAsignacion;

                if (codEstado_UltimaGestion > 0)
                {
                    EstadogestionEntity gst = EstadogestionData.ObtenerEntidades().Find(y => y.CodCamp == cc && y.CodEstado == codEstado_UltimaGestion);
                    x.SubEstado             = gst.Nombre;
                    x.Estado = EstadogestionData.ObtenerEntidades().Find(y => y.CodCamp == cc && y.CodEstado == gst.CodEstPadre).Nombre;
                    x.FechaProximaGestion = UltimaGestion.FechaCompromiso;
                }
                else
                {
                    x.SubEstado           = "Sin Gestión";
                    x.Estado              = "Sin Gestión";
                    x.FechaProximaGestion = "N/A";
                }



                AttrvaloresData.ObtenerEntidadesByAsig(asg.CodAsignacion).ForEach(attrv => {
                    AddProperty(x, attrv.CodAttr, attrv.ValorAttr);
                });

                salida.Add(x);
            });

            return(salida);
        }
Пример #5
0
        public HttpResponseMessage XLS_TABLA(int cc, string re, string em)
        {
            var salida = new List <dynamic>();
            List <AsignacionEntity> asigs = AsignacionData.ObtenerEntidadesByEjecutivoE(re, cc, em);

            DataTable dt = new DataTable();

            dt.Columns.Add("RutAfiliado", typeof(string));
            dt.Columns.Add("DvAfiliado", typeof(string));
            dt.Columns.Add("NombreAfiliado", typeof(string));

            List <Columna> columns = new List <Columna>();

            columns.Add(new Columna("RutAfiliado", "Rut Afiliado"));
            columns.Add(new Columna("DvAfiliado", "Dv Afiliado"));
            columns.Add(new Columna("NombreAfiliado", "Nombre Afiliado"));


            asigs.ForEach(asg => {
                EntidadEntity ent           = EntidadData.ObtenerPorID(asg.RutEntidad);
                GestionEntity UltimaGestion = GestionData.ObtenerEntidades().FindAll(d => d.CodAsignacion == asg.CodAsignacion).OrderByDescending(f => f.FechaAccion).FirstOrDefault();


                DataRow dr           = dt.NewRow();
                dr["RutAfiliado"]    = asg.RutEntidad;
                dr["DvAfiliado"]     = ent.DvEntidad;
                dr["NombreAfiliado"] = ent.NombreEntidad;


                AttrvaloresData.ObtenerEntidadesByAsig(asg.CodAsignacion).ForEach(attrv => {
                    if (attrv.CodAttr != "FechaResolucion" && attrv.CodAttr != "Prioridad" && attrv.CodAttr != "Observacion")
                    {
                        if (!dt.Columns.Contains(attrv.CodAttr))
                        {
                            dt.Columns.Add(attrv.CodAttr, typeof(string));
                            columns.Add(new Columna(attrv.CodAttr, AtributoData.ObtenerPorID(attrv.CodAttr).Etiqueta));
                        }
                        dr[attrv.CodAttr] = attrv.ValorAttr;
                    }
                });

                if (!dt.Columns.Contains("NotaEjecutivo"))
                {
                    dt.Columns.Add("NotaEjecutivo", typeof(string));
                    columns.Add(new Columna("NotaEjecutivo", "Documentación Faltante"));
                }
                dr["NotaEjecutivo"] = (UltimaGestion != null) ? UltimaGestion.NotaGestion.Replace("\n", ";").Replace("\t", " ").Replace("\r", ";") : "Sin Gestión";

                dt.Rows.Add(dr);
            });

            byte[] filecontent = ExcelExportHelper.ExportExcel(dt, "Documentación Faltante.", false, columns.ToArray());


            HttpResponseMessage response = new HttpResponseMessage();
            Stream stri = new MemoryStream(filecontent);

            response.Content = new StreamContent(stri);
            response.Content.Headers.ContentDisposition          = new ContentDispositionHeaderValue("attachment");
            response.Content.Headers.ContentDisposition.FileName = "Documentacion_Pendiente_SIL.xlsx";
            response.Content.Headers.ContentType   = new MediaTypeHeaderValue(ExcelExportHelper.ExcelContentType);
            response.Content.Headers.ContentLength = stri.Length;

            return(response);
        }
Пример #6
0
        public ResultadoBase GuardarGestionService(WebGestionCall entrada)
        {
            string prefijo_numero = "56";

            if (entrada == null)
            {
                return(new ResultadoBase
                {
                    Estado = "ESPERA",
                    Mensaje = "RECONOCIENDO SERVER",
                    Objeto = entrada
                });
            }
            else
            {
                GestionEntity oSv = new GestionEntity();
                oSv.IdBaseCampagna  = entrada.Asignacion;
                oSv.IdEstado        = 701;
                oSv.IdOficina       = "555";
                oSv.Descripcion     = entrada.Comentarios;
                oSv.FechaAccion     = DateTime.Now;
                oSv.FechaCompromete = entrada.FechaProxGestion != null && entrada.FechaProxGestion != "" ? Convert.ToDateTime(entrada.FechaProxGestion) : Convert.ToDateTime("1/1/1753 12:00:00");
                oSv.RutEjecutivo    = entrada.RutEjecutivo;
                GestionDataAccess.Guardar(oSv);
                AsignacionDataAccess.AsignarOficina(entrada.Asignacion, entrada.Oficina);


                AsignacionEntity          asg = AsignacionDataAccess.ObtenerPorID(entrada.Asignacion);
                PreferenciaAfiliadoEntity pa  = new PreferenciaAfiliadoEntity()
                {
                    Afiliado_rut      = (int)asg.Afiliado_Rut,
                    Fecha_accion      = DateTime.Now,
                    Tipo_preferencia  = "HORARIO",
                    Valida            = true,
                    Valor_preferencia = entrada.HorarioPreferencia
                };

                PreferenciaAfiliadoDataAccess.Guardar(pa);

                if (entrada.FonoContact != "OTR")
                {
                    var contc = ContactoafiliadoDataAccess.Obtener(Convert.ToInt32(entrada.RutAfiliado), entrada.FonoContact.Replace("+", string.Empty));
                    ContactoafiliadoDataAccess.Guardar(contc);
                }
                else
                {
                    //si no se valida dispara exception
                    int validaFono = Convert.ToInt32(entrada.NuevoFono);

                    ContactoafiliadoEntity cn = new ContactoafiliadoEntity
                    {
                        Afiliado_rut   = Convert.ToInt32(entrada.RutAfiliado),
                        Fecha_accion   = DateTime.Now,
                        Fecha_contacto = DateTime.Now,
                        Tipo_contacto  = "CELULAR",
                        Valido         = 1,
                        Valor_contacto = prefijo_numero + entrada.NuevoFono
                    };
                    ContactoafiliadoDataAccess.Guardar(cn);
                }

                return(new ResultadoBase
                {
                    Estado = "OK",
                    Mensaje = "Guardado con Exito",
                    Objeto = entrada
                });
            }
        }
Пример #7
0
        public ResultadoBase GuardarGestionService(WebGestionCall entrada)
        {
            string prefijo_numero = "56";

            if (entrada == null)
            {
                return(new ResultadoBase
                {
                    Estado = "ESPERA",
                    Mensaje = "RECONOCIENDO SERVER",
                    Objeto = entrada
                });
            }
            else
            {
                GestionEntity oSv = new GestionEntity();
                oSv.IdBaseCampagna  = entrada.Asignacion;
                oSv.IdEstado        = 701;
                oSv.IdOficina       = "555";
                oSv.Descripcion     = entrada.Comentarios;
                oSv.FechaAccion     = DateTime.Now;
                oSv.FechaCompromete = entrada.FechaProxGestion != null && entrada.FechaProxGestion != "" ? Convert.ToDateTime(entrada.FechaProxGestion) : Convert.ToDateTime("1/1/1753 12:00:00");
                oSv.RutEjecutivo    = entrada.RutEjecutivo;
                GestionDataAccess.Guardar(oSv);
                AsignacionDataAccess.AsignarOficina(entrada.Asignacion, entrada.Oficina);


                AsignacionEntity          asg = AsignacionDataAccess.ObtenerPorID(entrada.Asignacion);
                PreferenciaAfiliadoEntity pa  = new PreferenciaAfiliadoEntity()
                {
                    Afiliado_rut      = (int)asg.Afiliado_Rut,
                    Fecha_accion      = DateTime.Now,
                    Tipo_preferencia  = "HORARIO",
                    Valida            = true,
                    Valor_preferencia = entrada.HorarioPreferencia
                };

                PreferenciaAfiliadoDataAccess.Guardar(pa);

                if (entrada.FonoContact != "OTR")
                {
                    ContactabilidadDataAccess.ActualizarIndiceContacto(1, Convert.ToInt32(entrada.RutAfiliado), entrada.FonoContact.Replace("+", string.Empty), entrada.RutEjecutivo, 555);
                }
                else
                {
                    //si no se valida dispara exception
                    int validaFono = Convert.ToInt32(entrada.NuevoFono);

                    string datocontacto = prefijo_numero + entrada.NuevoFono;
                    var    existe       = ContactabilidadDataAccess.ListarContacto(Convert.ToInt32(entrada.RutAfiliado)).FirstOrDefault(contc => contc.ValorDato == datocontacto);

                    if (existe != null)
                    {
                        throw new Exception("El dato de contacto ya existe en la base de datos.");
                    }
                    else
                    {
                        ContactabilidadDataAccess.InsertaNuevoContacto(Convert.ToInt32(entrada.RutAfiliado), 1, "Celular", 1, "Personal", datocontacto);
                        ContactabilidadDataAccess.ActualizarIndiceContacto(1, Convert.ToInt32(entrada.RutAfiliado), datocontacto, entrada.RutEjecutivo, 555);
                    }
                }

                return(new ResultadoBase
                {
                    Estado = "OK",
                    Mensaje = "Guardado con Exito",
                    Objeto = entrada
                });
            }
        }