public void EjecutarVisita(int IdVisita, int IdInspector) { using (var ctx = new DB_A66D31_intratecPrbEntities1()) { Visitas visita = ctx.Visitas.Where(v => v.IdVisita == IdVisita).FirstOrDefault(); if (visita != null) { if (visita.IdEstadoVisitas.Equals("P")) { visita.IdEstadoVisitas = "E"; visita.FechaModificacion = DateTime.Now; visita.IdUsuarioModificacion = IdInspector; ctx.SaveChanges(); } } } }
//Agregar EquiposVisita public void AgregarEquipoVisita(EquiposVisita Equipo, int IdVisita) { using (var ctx = new DB_A66D31_intratecPrbEntities1()) { Visitas visita = ctx.Visitas.Where(v => v.IdVisita == IdVisita).FirstOrDefault(); if (visita != null) { Equipo.Secuencia = ctx.EquiposVisita.Where(fv => fv.IdVisita == Equipo.IdVisita).Count() + 1; visita.EquiposVisita.Add(Equipo); ctx.SaveChanges(); } else { throw new Exception("No se encontró la visita"); } } }
//Reporte zonas y presencia en visitas //TODO => PENDIENTE //**************************************************** VISITAS => Todo lo que tenga que ver con visitas //Programación Visita public void ProgramarVisita(Visitas Visita) { using (var ctx = new DB_A66D31_intratecPrbEntities1()) { if (ctx.Visitas.Where(v => v.IdCliente == Visita.IdCliente && v.IdPropiedad == Visita.IdPropiedad && v.FechaVisita == Visita.FechaVisita && v.IdFranja == Visita.IdFranja).FirstOrDefault() != null) { throw new Exception($"Ya se tiene programada una visita para esta propiedad en esa misma franja"); } if (ctx.Visitas.Where(v => v.IdInspector == Visita.IdInspector && v.FechaVisita == Visita.FechaVisita && v.IdFranja == Visita.IdFranja).Count() > 1) { throw new Exception("Inspector no disponible en la franja seleccionada"); } Visita.FechaCreacion = DateTime.Now; ctx.Visitas.Add(Visita); ctx.SaveChanges(); } }
public void AgregarCertificadoCompetencias(CertificadosCompetencias CertificadoAgregar) { CertificadosCompetencias res = null; using (var ctx = new DB_A66D31_intratecPrbEntities1()) { res = ctx.CertificadosCompetencias.Where(c => c.FechaExpedicion == CertificadoAgregar.FechaExpedicion).FirstOrDefault(); if (res != null) { CertificadoAgregar.FechaCreacion = DateTime.Now; ctx.CertificadosCompetencias.Add(CertificadoAgregar); ctx.SaveChanges(); } else { throw new Exception($"Ya existe un certificado con fecha de expedición: {CertificadoAgregar.FechaExpedicion}"); } } }
//Eliminar public void EliminarTipoPersona(int IdTipoPersona, int IdUsuarioModificacion) { using (var ctx = new DB_A66D31_intratecPrbEntities1()) { TiposPersona TipoPersonaEliminar = ctx.TiposPersona.Where(u => u.IdTipoPersona == IdTipoPersona).FirstOrDefault(); if (TipoPersonaEliminar != null) { TipoPersonaEliminar.Activo = false; TipoPersonaEliminar.FechaModificacion = DateTime.Now; TipoPersonaEliminar.IdUsuarioModificacion = IdUsuarioModificacion; ctx.SaveChanges(); } else { throw new Exception($"No existe un tipo de persona con ID {IdTipoPersona}"); } } }
public Usuarios ConsultarUsuarioParaCambioContrasena(string numeroIdentificacion, string email) { Usuarios res = null; using (var ctx = new DB_A66D31_intratecPrbEntities1()) { res = ctx.Usuarios.Where(u => u.NumeroIdentificacion.Equals(numeroIdentificacion) && u.Email.Equals(email)).FirstOrDefault(); if (res != null) { res.tokenCambioContrasena = $"{res.NumeroIdentificacion}_{DateTime.Now.Ticks}_{res.Email}_{DateTime.Now.Ticks}"; res.horaTokenCambioContrasena = DateTime.Now; ctx.SaveChanges(); //ctx.Entry(res).Reference(u => u.Roles).Load(); //res.Roles.Menus.ToList(); //ctx.Entry(res).Reference(u => u.TiposIdentificacion).Load(); //ctx.Entry(res).Reference(u => u.Ciudades).Load(); } } return(res); }
//Eliminar public void EliminarUsoPropiedad(int IdUso, int IdUsuarioModificacion) { using (var ctx = new DB_A66D31_intratecPrbEntities1()) { UsosPropiedades UsoPropiedadEliminar = ctx.UsosPropiedades.Where(u => u.IdUso == IdUso).FirstOrDefault(); if (UsoPropiedadEliminar != null) { UsoPropiedadEliminar.Activo = false; UsoPropiedadEliminar.FechaModificacion = DateTime.Now; UsoPropiedadEliminar.IdUsuarioModificacion = IdUsuarioModificacion; ctx.SaveChanges(); } else { throw new Exception($"No existe un uso de propiedad con ID {IdUso}"); } } }
//Eliminar public void EliminarPais(int IdPais, int IdUsuarioModificacion) { using (var ctx = new DB_A66D31_intratecPrbEntities1()) { Paises PaisEliminar = ctx.Paises.Where(u => u.IdPais == IdPais).FirstOrDefault(); if (PaisEliminar != null) { PaisEliminar.Activo = false; PaisEliminar.FechaModificacion = DateTime.Now; PaisEliminar.IdUsuarioModificacion = IdUsuarioModificacion; ctx.SaveChanges(); } else { throw new Exception($"No existe un País con ID {IdPais}"); } } }
//Eliminar public void EliminarMarcaEquipo(int IdMarca, int IdUsuarioModificacion) { using (var ctx = new DB_A66D31_intratecPrbEntities1()) { MarcasEquipos MarcaEliminar = ctx.MarcasEquipos.Where(u => u.IdMarcaEquipo == IdMarca).FirstOrDefault(); if (MarcaEliminar != null) { MarcaEliminar.Activo = false; MarcaEliminar.FechaModificacion = DateTime.Now; MarcaEliminar.IdUsuarioModificacion = IdUsuarioModificacion; ctx.SaveChanges(); } else { throw new Exception($"No existe una Marca con ID {IdMarca}"); } } }
//5. Ingresar Verificaciones LAB public void IngresarVerificacionLAB(VerificacionesLabEquipos Verificacion) { using (var ctx = new DB_A66D31_intratecPrbEntities1()) { int sec = 0; try { sec = ctx.VerificacionesLabEquipos.Where(v => v.IdEquipo == Verificacion.IdEquipo).Count(); } catch { } sec += 1; Verificacion.FechaCreacion = DateTime.Now; Verificacion.Secuencia = sec; ctx.VerificacionesLabEquipos.Add(Verificacion); Equipos eq = ctx.Equipos.Where(e => e.IdEquipo == Verificacion.IdEquipo).FirstOrDefault(); if (eq != null) { eq.FechaProximaVerificacion = Verificacion.FechaVerificacion.AddMonths(int.Parse(eq.PeriodoVerificacion)); } ctx.SaveChanges(); } }
//Eliminar public void EliminarCiudad(string IdCiudad, int IdUsuarioModificacion) { using (var ctx = new DB_A66D31_intratecPrbEntities1()) { Ciudades CiudadEliminar = ctx.Ciudades.Where(u => u.IdCiudad == IdCiudad).FirstOrDefault(); if (CiudadEliminar != null) { CiudadEliminar.Activo = false; CiudadEliminar.FechaModificacion = DateTime.Now; CiudadEliminar.IdUsuarioModificacion = IdUsuarioModificacion; ctx.SaveChanges(); } else { throw new Exception($"No existe una Ciudad con ID {IdCiudad}"); } } }
//Eliminar public void EliminarDepartamento(string IdDepartamento, int IdUsuarioModificacion) { using (var ctx = new DB_A66D31_intratecPrbEntities1()) { Departamentos DepartamentoEliminar = ctx.Departamentos.Where(u => u.IdDepartamento == IdDepartamento).FirstOrDefault(); if (DepartamentoEliminar != null) { DepartamentoEliminar.Activo = false; DepartamentoEliminar.FechaModificacion = DateTime.Now; DepartamentoEliminar.IdUsuarioModificacion = IdUsuarioModificacion; ctx.SaveChanges(); } else { throw new Exception($"No existe un Depatamento con ID {IdDepartamento}"); } } }
public void EditarPropiedad(Propiedades propiedad, int IdUsuarioModificacion) { using (var ctx = new DB_A66D31_intratecPrbEntities1()) { Propiedades PropiedadModificar = ctx.Propiedades.Where(c => c.IdPropiedades == propiedad.IdPropiedades).FirstOrDefault(); PropiedadModificar.Direccion = propiedad.Direccion; PropiedadModificar.IdUso = propiedad.IdUso; PropiedadModificar.Telefono = propiedad.Telefono; PropiedadModificar.Foto = propiedad.Foto; PropiedadModificar.Observaciones = propiedad.Observaciones; PropiedadModificar.IdTipoPropiedad = propiedad.IdTipoPropiedad; PropiedadModificar.NroPoliza = propiedad.NroPoliza; PropiedadModificar.FechaModificacion = DateTime.Now; PropiedadModificar.IdUsuarioModificacion = IdUsuarioModificacion; ctx.SaveChanges(); } }
public void ActualizarContrasena(int IdUsuario, string Contrasena) { using (var ctx = new DB_A66D31_intratecPrbEntities1()) { Usuarios usuarioModificar = ctx.Usuarios.Where(u => u.IdUsuario == IdUsuario).FirstOrDefault(); if (usuarioModificar != null) { usuarioModificar.Password = Convert.ToBase64String(Encoding.UTF8.GetBytes(Contrasena)); usuarioModificar.FechaCreacion = DateTime.Now; usuarioModificar.IdUsuarioModificacion = IdUsuario; usuarioModificar.DebeCambiarContrasena = false; ctx.SaveChanges(); } else { throw new Exception("No existe el usuario"); } } }
public void CancelarVisita(int IdVisita, string ObservacionCancelacion, int IdUsuarioCancelacion) { using (var ctx = new DB_A66D31_intratecPrbEntities1()) { Visitas visita = ctx.Visitas.Where(v => v.IdVisita == IdVisita).FirstOrDefault(); if (visita != null) { if (visita.IdEstadoVisitas.Equals("P")) { visita.ObservacionesCancelacion = ObservacionCancelacion; visita.FechaModificacion = DateTime.Now; visita.IdUsuarioModificacion = IdUsuarioCancelacion; visita.IdEstadoVisitas = "X"; ctx.SaveChanges(); } else { throw new Exception("No se puede cancelar la visita"); } } } }
//Editar public void EditarTipoIdentificacion(TiposIdentificacion TipoIdentificacion, int IdUsuarioModificacion) { using (var ctx = new DB_A66D31_intratecPrbEntities1()) { TiposIdentificacion TipoIdentificacionEditar = ctx.TiposIdentificacion.Where(c => c.IdTipoIdentificacion == TipoIdentificacion.IdTipoIdentificacion).FirstOrDefault(); if (ctx.TiposIdentificacion.Where(ti => ti.Abreviatura.Equals(TipoIdentificacion.Abreviatura) && ti.IdTipoIdentificacion != TipoIdentificacion.IdTipoIdentificacion).FirstOrDefault() == null) { TipoIdentificacionEditar.Abreviatura = TipoIdentificacion.Abreviatura; TipoIdentificacionEditar.TipoIdentificacion = TipoIdentificacion.TipoIdentificacion; TipoIdentificacionEditar.Activo = TipoIdentificacion.Activo; TipoIdentificacionEditar.FechaModificacion = DateTime.Now; TipoIdentificacionEditar.IdUsuarioModificacion = IdUsuarioModificacion; ctx.SaveChanges(); } else { throw new Exception($"Ya existe un Tipo de Identificación con abreviatura {TipoIdentificacion.Abreviatura}"); } } }
//Editar public void EditarPais(Paises Pais, int IdUsuarioModificacion) { using (var ctx = new DB_A66D31_intratecPrbEntities1()) { Paises PaisEditar = ctx.Paises.Where(c => c.IdPais == Pais.IdPais).FirstOrDefault(); if (PaisEditar != null) { PaisEditar.CodigoPais = Pais.CodigoPais; PaisEditar.Pais = Pais.Pais; PaisEditar.Activo = Pais.Activo; PaisEditar.FechaModificacion = DateTime.Now; PaisEditar.IdUsuarioModificacion = IdUsuarioModificacion; ctx.SaveChanges(); } else { } } }
//Reasignación visita public void ReasignacionVisita(int IdVisita, int IdInspector) { using (var ctx = new DB_A66D31_intratecPrbEntities1()) { Visitas visita = ctx.Visitas.Where(v => v.IdVisita == IdVisita).FirstOrDefault(); if (visita != null) { if (visita.IdEstadoVisitas.Equals("P")) { visita.IdInspector = IdInspector; ctx.SaveChanges(); } else { throw new Exception($"No se puede reasignar la visita en el estado {visita.IdEstadoVisitas}"); } } else { throw new Exception($"No se encontró la visita con ID {IdVisita}"); } } }
public void ActualizarEquipo(Equipos equipos, int idUsuarioModificacion) { using (var ctx = new DB_A66D31_intratecPrbEntities1()) { Equipos equipoAModificar = ctx.Equipos.Where(e => e.IdEquipo == equipos.IdEquipo).FirstOrDefault(); equipoAModificar.Activo = equipos.Activo; equipoAModificar.Area = equipos.Area; equipoAModificar.Calibrado = equipos.Calibrado; equipoAModificar.FechaProximaCalibracion = equipos.FechaProximaCalibracion; equipoAModificar.FechaProximoMantenimiento = equipos.FechaProximoMantenimiento; equipoAModificar.IdMarcaEquipo = equipos.IdMarcaEquipo; equipoAModificar.IdTipoEquipo = equipos.IdTipoEquipo; equipoAModificar.Modelo = equipos.Modelo; equipoAModificar.PeriodoCalibracion = equipos.PeriodoCalibracion; equipoAModificar.PeriodoVerificacion = equipos.PeriodoVerificacion; equipoAModificar.SerieIDInterno = equipos.SerieIDInterno; equipoAModificar.Tolerancia = equipos.Tolerancia; equipoAModificar.IdTipoVisitaAplica = equipos.IdTipoVisitaAplica; equipoAModificar.IdUsuarioModificacion = idUsuarioModificacion; equipoAModificar.FechaModificacion = DateTime.Now; ctx.SaveChanges(); } }
public int CrearUsuario(Usuarios UsuarioCrear) { int res = -1; using (var ctx = new DB_A66D31_intratecPrbEntities1()) { int us = ctx.Usuarios.Where(u => u.NumeroIdentificacion.Equals(UsuarioCrear.NumeroIdentificacion)).ToList().Count; if (us == 0) { UsuarioCrear.FechaCreacion = DateTime.Now; UsuarioCrear.Activo = true; UsuarioCrear.Password = Convert.ToBase64String(UTF8Encoding.UTF8.GetBytes(UsuarioCrear.NumeroIdentificacion)); UsuarioCrear.DebeCambiarContrasena = true; ctx.Usuarios.Add(UsuarioCrear); ctx.SaveChanges(); res = UsuarioCrear.IdUsuario; } else { throw new Exception($"Ya existe un Usuario con Número de Identificación {UsuarioCrear.NumeroIdentificacion}"); } } return(res); }
//4. Tramitar Equipo a Inspector public void TramitarEquipoInspector(int IdEquipo, int?IdInspector, int IdUsuarioTramita, string Tramite, string Observaciones) { using (var ctx = new DB_A66D31_intratecPrbEntities1()) { DateTime now = DateTime.Now; int sec = 0; try { sec = ctx.TramitesEquipo.Where(t => t.IdEquipo == IdEquipo).Count(); } catch { } sec += 1; UsuariosEquipos ue; switch (Tramite) { case "ASIGNACION": ctx.UsuariosEquipos.Add(new UsuariosEquipos() { IdEquipo = IdEquipo, IdInspector = IdInspector.Value, IdUsuarioAsigna = IdUsuarioTramita, FechaAsignacion = now, Estado = "P" }); break; case "ACEP_ASIGNACION": ue = ctx.UsuariosEquipos.Where(e => e.IdEquipo == IdEquipo && e.IdInspector == IdInspector && e.Estado == "P").FirstOrDefault(); if (ue != null) { ue.Estado = "A"; } else { throw new Exception("No se puede aceptar la asignación."); } break; case "DEVOLUCION": ue = ctx.UsuariosEquipos.Where(e => e.IdEquipo == IdEquipo && e.IdInspector == IdInspector && e.Estado == "A").FirstOrDefault(); if (ue != null) { ue.Estado = "D"; } else { throw new Exception("No se puede devolver el equipo."); } break; case "ACEP_DEVOLUCION": ue = ctx.UsuariosEquipos.Where(e => e.IdEquipo == IdEquipo && e.IdInspector == IdInspector && e.Estado == "D").FirstOrDefault(); if (ue != null) { ctx.UsuariosEquipos.Remove(ue); } else { throw new Exception("No se puede aceptar la devolución del equipo."); } break; case "RECHAZO": ue = ctx.UsuariosEquipos.Where(e => e.IdEquipo == IdEquipo && e.IdInspector == IdInspector && e.Estado == "P").FirstOrDefault(); if (ue != null) { ctx.UsuariosEquipos.Remove(ue); } else { throw new Exception("No se puede rechazar la asignación del equipo."); } break; case "ENV_CALIBRACION": if (ctx.UsuariosEquipos.Where(e => e.IdEquipo == IdEquipo).FirstOrDefault() != null) { throw new Exception("No se puede enviar a Calibración el equipo. Está asignado"); } break; case "REC_CALIBRACION": if (!ctx.TramitesEquipo.Where(t => t.IdEquipo == IdEquipo).OrderByDescending(d => d.Secuencia).FirstOrDefault().Tramite.Equals("ENV_CALIBRACION")) { throw new Exception("No se puede recibir ya que no fue enviada a Calibración."); } break; } ctx.TramitesEquipo.Add(new TramitesEquipo() { IdEquipo = IdEquipo, IdInspector = IdInspector, FechaCreacion = now, IdUsuarioCreacion = IdUsuarioTramita, Observaciones = Observaciones, Secuencia = sec, Tramite = Tramite }); ctx.SaveChanges(); } }
//8. Actualizar estado Consecutivo: Aplica para aceptación, rechazo y anulación. Permite actualizar más de un consecutivo. public void ActualizarEstadoConsecutivo(int IdFormato, List <int> Consecutivos, string IdEstado, int IdUsuarioActualiza, string Observaciones) { string tramite = string.Empty; switch (IdEstado) { case "A": tramite = "ACEPTACION"; break; case "R": tramite = "RECHAZO"; break; case "X": tramite = "ANULACION"; break; } using (var ctx = new DB_A66D31_intratecPrbEntities1()) { foreach (int i in Consecutivos) { ConsecutivosFormatos con = ctx.ConsecutivosFormatos.Where(c => c.IdFormato == IdFormato && c.Consecutivo == i).FirstOrDefault(); if (con != null) { //Si es rechazo el consecutivo se debe liberar if (!IdEstado.Equals("R")) { con.IdEstadoConsecutivoInspector = IdEstado; con.FechaModificacion = DateTime.Now; con.IdUsuarioModificacion = IdUsuarioActualiza; } else { con.IdInspector = null; con.IdEstadoConsecutivoInspector = IdEstado; con.FechaModificacion = DateTime.Now; con.IdUsuarioModificacion = IdUsuarioActualiza; } int sec = 0; try { sec = ctx.TramiteConsecutivoFormato.Where(t => t.IdFormato == IdFormato && t.Consecutivo == i).Count(); } catch { } sec += 1; ctx.TramiteConsecutivoFormato.Add(new TramiteConsecutivoFormato() { IdFormato = IdFormato, IdInspector = IdUsuarioActualiza, Consecutivo = i, Tramite = tramite, FechaCreacion = DateTime.Now, IdUsuarioCreacion = IdUsuarioActualiza, Secuencia = sec, Observaciones = Observaciones }); ctx.SaveChanges(); } else { throw new Exception("Consecutivo no asignado aún"); } } } }