예제 #1
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
                });
            }
        }
예제 #2
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
                });
            }
        }