Пример #1
0
        public AsignacionCallBase AfiliadoServiceData(string AfiliadoRut)
        {
            int periodo     = Convert.ToInt32(DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString().PadLeft(2, '0'));
            var AsgDataBrut = AsignacionDataAccess.ListarByAfiRut(periodo, AfiliadoRut).Where(asg => asg.TipoAsignacion == 5 || asg.TipoAsignacion == 1).FirstOrDefault();
            List <ContactoafiliadoEntity> telefonos = ContactoafiliadoDataAccess.ObtenerPorRutAfiliadoYTipo(Convert.ToInt32(AsgDataBrut.Afiliado_Rut), "TELEFONO");

            telefonos.AddRange(ContactoafiliadoDataAccess.ObtenerPorRutAfiliadoYTipo(Convert.ToInt32(AsgDataBrut.Afiliado_Rut), "CELULAR"));

            return(new AsignacionCallBase
            {
                Asignacion = AsgDataBrut.id_Asign,
                Afiliado = new AfiliadoCallBase
                {
                    Rut = AsgDataBrut.Afiliado_Rut + "-" + AsgDataBrut.Afiliado_Dv,
                    Nombres = AsgDataBrut.Nombre + " " + AsgDataBrut.Apellido,
                    Segmento = AsgDataBrut.Segmento,
                    ClaveRut = AsgDataBrut.Afiliado_Rut.ToString()
                },
                Empresa = new EmpresaCallBase
                {
                    Rut = AsgDataBrut.Empresa_Rut + "-" + AsgDataBrut.Empresa_Dv,
                    RazonSocial = AsgDataBrut.Empresa
                },
                OficinaAsinacion = SucursalDataAccess.ObtenerSucursal(AsgDataBrut.Oficina).Nombre,
                PreAprobado = AsgDataBrut.PreAprobadoFinal,
                Fonos = telefonos
            });
        }
Пример #2
0
        public AsignacionCallBase AffiliateData(string rut)
        {
            var AsgDataBrut = AsignacionDataAccess.ObtenerEntidades().Where(asg => asg.Afiliado_Rut + "-" + asg.Afiliado_Dv == rut && asg.Periodo == "201711" && asg.TipoAsignacion == 5).FirstOrDefault();

            return(new AsignacionCallBase
            {
                Asignacion = AsgDataBrut.id_Asign,
                Afiliado = new AfiliadoCallBase
                {
                    Rut = AsgDataBrut.Afiliado_Rut + "-" + AsgDataBrut.Afiliado_Dv,
                    Nombres = AsgDataBrut.Nombre + " " + AsgDataBrut.Apellido,
                    Segmento = AsgDataBrut.Segmento
                },
                Empresa = new EmpresaCallBase
                {
                    Rut = AsgDataBrut.Empresa_Rut + "-" + AsgDataBrut.Empresa_Dv,
                    RazonSocial = AsgDataBrut.Empresa
                },
                OficinaAsinacion = SucursalDataAccess.ObtenerSucursal(AsgDataBrut.Oficina).Nombre,
                PreAprobado = AsgDataBrut.PreAprobadoFinal
            });
        }
Пример #3
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
                });
            }
        }
Пример #4
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
                });
            }
        }