/*MODIFICAR DATOS*/
        //Este metodo nos permite alterar la información de una asignación
        public bool AlterAsig(AsignacionEntity asignacion)
        {
            var AlterAsig = _context.Asignaciones.Include(a => a.PreguntasDeAsignacion).Include(a => a.SectionEntity).Where(a => a.Id == asignacion.Id).FirstOrDefault();

            if (AlterAsig == null)
            {
                return(false);
            }
            AlterAsig.Nombre    = asignacion.Nombre;
            AlterAsig.SectionId = asignacion.SectionId;

            /*
             * //Elimina las preguntas previas
             * foreach (var pregunta in AlterAsig.PreguntasDeAsignacion)
             * {
             * _context.Preguntas.Remove(pregunta);
             * }
             *
             * //Introduce las preguntas nuevas
             * foreach (var pregunta in asignacion.PreguntasDeAsignacion)
             * {
             * _context.Preguntas.Add(pregunta);
             * }*/

            return(SaveChanges());
        }
예제 #2
0
        /// <summary>
        /// Guarda la entidad de dominio <see cref="AsignacionEntity"/> en la Base de Datos
        /// </summary>
        /// <author>@Charly</author>
        /// <created>05-09-2017 15:44:07</created>
        /// <param name="asignacion">Referencia a una clase <see cref="AsignacionEntity"/>.</param>
        /// <returns>Clave primaria resultante de la operación</returns>
        public static long Guardar(AsignacionEntity asignacion)
        {
            Parametros parametros = new Parametros
            {
                new Parametro("@CodAsignacion", asignacion.CodAsignacion),
                new Parametro("@CodCamp", asignacion.CodCamp),
                new Parametro("@RutEntidad", asignacion.RutEntidad),
                new Parametro("@RutEjecutivo", asignacion.RutEjecutivo),
            };

            return(DBHelper.InstanceEngine.ObtenerEscalar <long>("engine.sp_Asignacion_Guardar", parametros));
        }
예제 #3
0
        public AsignacionBase dataAsignacion(long ca)
        {
            AsignacionEntity   asg   = AsignacionData.ObtenerPorID(ca);
            EntidadEntity      ent   = EntidadData.ObtenerPorID(asg.RutEntidad);
            List <GestionBase> gests = gestBase(ca);

            return(new AsignacionBase()
            {
                Asignacion = asg,
                Entidad = ent,
                Gestiones = gests
            });
        }
        public IActionResult AssignationLastQuestionUpdated(int evaluationId)
        {
            try
            {
                AsignacionEntity assignation = _asignacionInfoRepository.AssignationLastQuestionUpdated(evaluationId);

                return(Ok(assignation));
            }
            catch (Exception ex)
            {
                _logger.LogCritical("Se recogio un error al recibir los datos de la asignacion: " + ex);
                return(StatusCode(500, "Un error ha ocurrido mientras se procesaba su petición."));
            }
        }
예제 #5
0
        /// <summary>
        /// Guarda la entidad de dominio <see cref="Asignacion"/> en la Base de Datos
        /// </summary>
        /// <author>Carlos Pradenas</author>
        /// <created>11-04-2017 17:27:28</created>
        /// <param name="asignacion">Referencia a una clase <see cref="Asignacion"/>.</param>
        /// <returns>Clave primaria resultante de la operación</returns>
        public static int Guardar(AsignacionEntity asignacion)
        {
            Parametros parametros = new Parametros
            {
                new Parametro("@id_Asign", asignacion.id_Asign),
                new Parametro("@Periodo", asignacion.Periodo),
                new Parametro("@Afiliado_Rut", asignacion.Afiliado_Rut),
                new Parametro("@Afiliado_Dv", asignacion.Afiliado_Dv),
                new Parametro("@Nombre", asignacion.Nombre),
                new Parametro("@Apellido", asignacion.Apellido),
                new Parametro("@Empresa_Rut", asignacion.Empresa_Rut),
                new Parametro("@Empresa_Dv", asignacion.Empresa_Dv),
                new Parametro("@Empresa", asignacion.Empresa),
                new Parametro("@ClaRiesgoEmpresa", asignacion.ClaRiesgoEmpresa),
                new Parametro("@Holding", asignacion.Holding),
                new Parametro("@Celular", asignacion.Celular),
                new Parametro("@Telefono1", asignacion.Telefono1),
                new Parametro("@Telefono2", asignacion.Telefono2),
                new Parametro("@Email", asignacion.Email),
                new Parametro("@MontoPension", asignacion.MontoPension),
                new Parametro("@MontoRenta", asignacion.MontoRenta),
                new Parametro("@Monto_preaprobado", asignacion.Monto_preaprobado),
                new Parametro("@Antiguedad_en_Meses", asignacion.Antiguedad_en_Meses),
                new Parametro("@LicMedicaVigente", asignacion.LicMedicaVigente),
                new Parametro("@CreditosVigentes", asignacion.CreditosVigentes),
                new Parametro("@CredVig_Meses_Morosos", asignacion.CredVig_Meses_Morosos),
                new Parametro("@CredVig_MontoCuota", asignacion.CredVig_MontoCuota),
                new Parametro("@EsPensionado", asignacion.EsPensionado),
                new Parametro("@EsPrivado", asignacion.EsPrivado),
                new Parametro("@EsPublico", asignacion.EsPublico),
                new Parametro("@Contacto", asignacion.Contacto),
                new Parametro("@Segmento", asignacion.Segmento),
                new Parametro("@FechaNacimiento", asignacion.FechaNacimiento),
                new Parametro("@Edad", asignacion.Edad),
                new Parametro("@PensionadoFFAA", asignacion.PensionadoFFAA),
                new Parametro("@EmpresaEsPensionado", asignacion.EmpresaEsPensionado),
                new Parametro("@EmpresaEsPublico", asignacion.EmpresaEsPublico),
                new Parametro("@EmpresaEsPrivado", asignacion.EmpresaEsPrivado),
                new Parametro("@RiesgoPerfil", asignacion.RiesgoPerfil),
                new Parametro("@RiesgoMaxVecesRenta", asignacion.RiesgoMaxVecesRenta),
                new Parametro("@RiesgoMaxPreAprobado", asignacion.RiesgoMaxPreAprobado),
                new Parametro("@PreAprobadoFinal", asignacion.PreAprobadoFinal),
                new Parametro("@CredVigente", asignacion.CredVigente),
                new Parametro("@Oficina", asignacion.Oficina),
                new Parametro("@Asignado", asignacion.Asignado),
                new Parametro("@Ejec_Asignacion", asignacion.Ejec_Asignacion),
            };

            return(DBHelper.InstanceCRM.ObtenerEscalar <int>("spMotor_Asignacion_Guardar", parametros));
        }
예제 #6
0
        public ProcessResult <object> Registrar(AsignacionRequest data)
        {
            ProcessResult <object> resultado = new ProcessResult <object>();

            try
            {
                if (data.CodigoAsignacion > 0)
                {
                    AsignacionEntity Entity = entityRepository.GetById(data.CodigoAsignacion);

                    if (Entity != null)
                    {
                        Entity.CodigoAsignacion = data.CodigoAsignacion;
                        Entity.CodigoPerfil     = data.CodigoPerfil;
                        Entity.CodigoSistema    = data.CodigoSistema;
                        Entity.CodigoUsuario    = data.CodigoUsuario;

                        entityRepository.Editar(Entity);
                        resultado.IsSuccess = true;
                        entityRepository.GuardarCambios();
                    }
                }
                else
                {
                    AsignacionEntity Entity = new AsignacionEntity();
                    Entity.CodigoAsignacion = data.CodigoAsignacion;
                    Entity.CodigoPerfil     = data.CodigoPerfil;
                    Entity.CodigoSistema    = data.CodigoSistema;
                    Entity.CodigoUsuario    = data.CodigoUsuario;

                    entityRepository.Insertar(Entity);
                    resultado.IsSuccess = true;
                    entityRepository.GuardarCambios();
                }
            }
            catch (Exception ex)
            {
                resultado.Exception = new ApplicationLayerException <AsignacionService>(ex.Message);
            }
            return(resultado);
        }
예제 #7
0
        private List <GestionBase> gestBase(long ca)
        {
            List <GestionBase> res = new List <GestionBase>();

            GestionData.ObtenerEntidades().FindAll(x => x.CodAsignacion == ca).ForEach(gst => {
                EstadogestionEntity SubEstadoGst = EstadogestionData.ObtenerPorID(gst.CodEstadoGestion);
                EstadogestionEntity EstadoGst    = EstadogestionData.ObtenerPorID(SubEstadoGst.CodEstPadre);
                AsignacionEntity Asignacion      = AsignacionData.ObtenerPorID(ca);

                string eRut = Asignacion.RutEjecutivo != "0" ? Asignacion.RutEjecutivo : (string.IsNullOrEmpty(gst.RutEjecutivo) ? "N/A" : gst.RutEjecutivo);

                res.Add(new GestionBase
                {
                    Gestion          = gst,
                    SubEstadoGestion = SubEstadoGst,
                    EstadoGestion    = EstadoGst,
                    RutEjecutivo     = eRut,
                    NombreEjecutivo  = CRM.Security.Data.UsuarioDataAccess.UsuarioData(eRut).Nombres
                });
            });
            return(res);
        }
예제 #8
0
        public ProcessResult <object> Eliminar(AsignacionRequest filtro)
        {
            ProcessResult <object> resultado = new ProcessResult <object>();

            resultado.Result = string.Empty;

            try
            {
                AsignacionEntity Entity = entityRepository.GetById(filtro.CodigoAsignacion);

                if (Entity != null)
                {
                    entityRepository.Eliminar(Entity.CodigoAsignacion);

                    resultado.IsSuccess = true;
                    entityRepository.GuardarCambios();
                }
            }
            catch (Exception ex)
            {
                resultado.Exception = new ApplicationLayerException <AsignacionService>(ex.Message);
            }
            return(resultado);
        }
        //Este metodo elimina una asignación
        public bool DeleteAsig(AsignacionEntity asignacion)
        {
            _context.Asignaciones.Remove(asignacion);

            return(SaveChanges());
        }
        //Este metodo nos permite añadir una nueva asignación
        public bool AddAsig(AsignacionEntity asignacion)
        {
            _context.Asignaciones.Add(asignacion);

            return(SaveChanges());
        }
예제 #11
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
                });
            }
        }
예제 #12
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
                });
            }
        }