private void GeneraCorreo(int idTicket, int idGrupoUsuario, int idUsuario, string correoUsuario, bool antesVencimiento, string mensaje, ParametrosGenerales parametros) { DataBaseModelContext db = new DataBaseModelContext(); try { if (db.TicketNotificacion.Count(c => c.IdTicket == idTicket && c.IdGrupoUsuario == idGrupoUsuario && c.CorreoUsuario == correoUsuario) < parametros.MensajesNotificacion) { TicketNotificacion lastNotificacion = db.TicketNotificacion.Where(w => w.IdTicket == idTicket && w.IdGrupoUsuario == idGrupoUsuario && w.CorreoUsuario == correoUsuario).ToList().LastOrDefault(); if (lastNotificacion != null) { if (DateTime.Now >= lastNotificacion.FechaNotificacion.AddMinutes(parametros.FrecuenciaNotificacionMinutos)) { TicketNotificacion tn = new TicketNotificacion { IdTicket = idTicket, IdGrupoUsuario = idGrupoUsuario, IdUsuario = idUsuario, CorreoUsuario = correoUsuario, IdTipoNotificacion = (int)BusinessVariables.EnumeradoresKiiniNet.EnumTipoNotificacion.Correo, FechaNotificacion = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"), "yyyy-MM-dd HH:mm:ss:fff", CultureInfo.InvariantCulture) }; db.TicketNotificacion.AddObject(tn); db.SaveChanges(); BusinessCorreo.SendMail(correoUsuario, string.Format("{0}", antesVencimiento ? "Ticket apunto de vencer" : "Ticket ha vencido"), mensaje); } } else { TicketNotificacion tn = new TicketNotificacion { IdTicket = idTicket, IdGrupoUsuario = idGrupoUsuario, IdUsuario = idUsuario, CorreoUsuario = correoUsuario, IdTipoNotificacion = (int)BusinessVariables.EnumeradoresKiiniNet.EnumTipoNotificacion.Correo, FechaNotificacion = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"), "yyyy-MM-dd HH:mm:ss:fff", CultureInfo.InvariantCulture) }; db.TicketNotificacion.AddObject(tn); db.SaveChanges(); BusinessCorreo.SendMail(correoUsuario, string.Format("{0}", antesVencimiento ? "Ticket apunto de vencer" : "Ticket ha vencido"), mensaje); } } } catch { } finally { db.Dispose(); } }
public void Actualizar(int idPuesto, Puesto puesto) { DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.LazyLoadingEnabled = true; Puesto pto = db.Puesto.SingleOrDefault(s => s.Id == idPuesto); if (pto == null) { return; } pto.Descripcion = puesto.Descripcion.Trim().ToUpper(); db.SaveChanges(); } catch (Exception ex) { throw new Exception((ex.InnerException).Message); } finally { db.Dispose(); } }
public string ActualizaSla() { StringBuilder result = new StringBuilder(); DataBaseModelContext db = new DataBaseModelContext(); try { List <int> enumEstatusExcluidos = new List <int>(); enumEstatusExcluidos.Add((int)BusinessVariables.EnumeradoresKiiniNet.EnumEstatusTicket.Cerrado); enumEstatusExcluidos.Add((int)BusinessVariables.EnumeradoresKiiniNet.EnumEstatusTicket.Cancelado); enumEstatusExcluidos.Add((int)BusinessVariables.EnumeradoresKiiniNet.EnumEstatusTicket.EnEspera); enumEstatusExcluidos.Add((int)BusinessVariables.EnumeradoresKiiniNet.EnumEstatusTicket.ReTipificado); var ticketDentroSla = db.Ticket.Where(w => w.DentroSla && w.FechaTermino == null && w.FechaHoraFinProceso != null && !enumEstatusExcluidos.Contains(w.IdEstatusTicket)); result.AppendLine(string.Format("Procesando {0} tickets ", ticketDentroSla.Count())); foreach (Ticket ticket in ticketDentroSla) { ticket.DentroSla = DateTime.Now <= ticket.FechaHoraFinProceso; result.AppendLine(string.Format("Ticket {0} {1} ", ticket.Id, ticket.DentroSla ? "Dentro SLA" : "Fuera SLA")); } db.SaveChanges(); } catch (Exception e) { result.AppendLine("Error: " + e.Message); } finally { db.Dispose(); } return(result.ToString().Trim()); }
public void Guardar(Puesto puesto) { DataBaseModelContext db = new DataBaseModelContext(); try { puesto.Habilitado = true; puesto.Descripcion = puesto.Descripcion.Trim(); if (db.Puesto.Any(a => a.Descripcion == puesto.Descripcion && a.IdTipoUsuario == puesto.IdTipoUsuario)) { throw new Exception("Este Puesto ya existe."); } if (puesto.Id == 0) { db.Puesto.AddObject(puesto); } db.SaveChanges(); } catch (Exception ex) { throw new Exception(ex.Message); } finally { db.Dispose(); } }
public void GuardarAreaAndroid(Area descripcion) { DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.ProxyCreationEnabled = _proxy; //TODO: Cambiar habilitado por el embebido Area area = new Area(); area.Habilitado = true; area.Descripcion = descripcion.Descripcion.Trim(); area.FechaAlta = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"), "yyyy-MM-dd HH:mm:ss:fff", CultureInfo.InvariantCulture); if (area.Id == 0) { db.Area.AddObject(area); } db.SaveChanges(); } catch (Exception ex) { throw new Exception(ex.Message); } finally { db.Dispose(); } }
public void ActualizarTelefono(int idUsuario, int idTelefono, string numero) { DataBaseModelContext db = new DataBaseModelContext(); try { TelefonoUsuario telefono = db.TelefonoUsuario.Single( s => s.Id == idTelefono && s.IdUsuario == idUsuario && s.IdTipoTelefono == (int)BusinessVariables.EnumTipoTelefono.Celular); if (telefono != null) { telefono.Numero = numero; db.SaveChanges(); } } catch (Exception ex) { throw new Exception((ex.InnerException).Message); } finally { db.Dispose(); } }
public string TerminaCodigoVerificacionSms(int idUsuario, int idTipoNotificacion, int idTelefono, string codigo) { string result = string.Empty; DataBaseModelContext db = new DataBaseModelContext(); try { TelefonoUsuario telefono = db.TelefonoUsuario.Single(s => s.Id == idTelefono); List <SmsService> sms = db.SmsService.Where(a => a.IdUsuario == idUsuario && a.Habilitado).ToList(); foreach (SmsService mensaje in sms) { mensaje.Habilitado = false; db.SaveChanges(); } } catch (Exception ex) { throw new Exception(ex.Message); } finally { db.Dispose(); } return(result); }
public void Actualizar(int idArea, Area area) { DataBaseModelContext db = new DataBaseModelContext(); try { if (db.Area.Any(a => a.Descripcion == area.Descripcion && a.Id != idArea)) { throw new Exception("Esta Area ya existe."); } db.ContextOptions.LazyLoadingEnabled = true; Area areaUpdate = db.Area.SingleOrDefault(s => s.Id == idArea); if (areaUpdate == null) { return; } areaUpdate.Descripcion = area.Descripcion.Trim(); areaUpdate.Imagen = area.Imagen; areaUpdate.FechaModificacion = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"), "yyyy-MM-dd HH:mm:ss:fff", CultureInfo.InvariantCulture); areaUpdate.IdUsuarioModifico = area.IdUsuarioModifico; db.SaveChanges(); } catch (Exception ex) { throw new Exception(ex.Message); } finally { db.Dispose(); } }
public void GuardarJefatura(Jefatura entidad) { DataBaseModelContext db = new DataBaseModelContext(); try { entidad.Descripcion = entidad.Descripcion.ToUpper(); db.ContextOptions.ProxyCreationEnabled = _proxy; //TODO: Cambiar habilitado por el embebido entidad.Habilitado = true; if (entidad.Id == 0) { db.Jefatura.AddObject(entidad); } else { Jefatura tmpJefatura = db.Jefatura.SingleOrDefault(s => s.Id == entidad.Id); if (tmpJefatura == null) { return; } tmpJefatura.Descripcion = entidad.Descripcion; tmpJefatura.Habilitado = entidad.Habilitado; } db.SaveChanges(); } catch (Exception ex) { throw new Exception((ex.InnerException).Message); } finally { db.Dispose(); } }
public void HabilitarGrupo(int idGrupo, bool habilitado) { DataBaseModelContext db = new DataBaseModelContext(); try { if (db.GrupoUsuario.Single(s => s.Id == idGrupo).IdTipoGrupo == (int)BusinessVariables.EnumTiposGrupos.Administrador) { if (db.GrupoUsuario.Count(w => w.IdTipoGrupo == (int)BusinessVariables.EnumTiposGrupos.Administrador && w.Habilitado && w.Id != idGrupo && w.UsuarioGrupo.Count(ug => ug.IdGrupoUsuario == w.Id) > 0) <= 0) { throw new Exception("Debe tener otro usuario activo para este tipo de grupo."); } } GrupoUsuario grpo = db.GrupoUsuario.SingleOrDefault(w => w.Id == idGrupo); if (grpo != null) { grpo.Habilitado = habilitado; } db.SaveChanges(); } catch (Exception ex) { throw new Exception(ex.Message); } finally { db.Dispose(); } }
public void AutoAsignarTicket(int idTicket, int idUsuario) { DataBaseModelContext db = new DataBaseModelContext(); try { Ticket ticket = db.Ticket.SingleOrDefault(t => t.Id == idTicket); if (ticket != null) { ticket.IdEstatusAsignacion = (int)BusinessVariables.EnumeradoresKiiniNet.EnumEstatusAsignacion.Autoasignado; ticket.TicketAsignacion = new List <TicketAsignacion> { new TicketAsignacion { FechaAsignacion = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"), "yyyy-MM-dd HH:mm:ss:fff", CultureInfo.InvariantCulture), IdEstatusAsignacion = (int)BusinessVariables.EnumeradoresKiiniNet.EnumEstatusAsignacion.Autoasignado, IdUsuarioAsignado = idUsuario, IdUsuarioAsigno = idUsuario, IdTicket = idTicket } }; } db.SaveChanges(); } catch (Exception ex) { throw new Exception(ex.Message); } finally { db.Dispose(); } }
public void CrearMascara(Mascara mascara) { DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.ProxyCreationEnabled = _proxy; mascara.NoCampos = mascara.CampoMascara.Count; foreach (CampoMascara campoMascara in mascara.CampoMascara) { campoMascara.Descripcion = campoMascara.Descripcion.Trim().ToUpper(); campoMascara.NombreCampo = campoMascara.Descripcion.Trim().ToUpper().Replace(" ", ""); campoMascara.SimboloMoneda = campoMascara.SimboloMoneda == null ? null : campoMascara.SimboloMoneda.Trim().ToUpper(); campoMascara.TipoCampoMascara = null; } mascara.NombreTabla = (BusinessVariables.ParametrosMascaraCaptura.PrefijoTabla + mascara.Descripcion).Replace(" ", string.Empty); mascara.ComandoInsertar = (BusinessVariables.ParametrosMascaraCaptura.PrefijoComandoInsertar + mascara.Descripcion).Replace(" ", string.Empty); mascara.ComandoActualizar = (BusinessVariables.ParametrosMascaraCaptura.PrefijoComandoActualizar + mascara.Descripcion).Replace(" ", string.Empty); mascara.Habilitado = true; ExisteMascara(mascara); CrearEstructuraMascaraBaseDatos(mascara); db.Mascara.AddObject(mascara); db.SaveChanges(); } catch (Exception ex) { throw new Exception(ex.Message); } finally { db.Dispose(); } }
public void GuardarGrupoUsuario(GrupoUsuario grupoUsuario) { DataBaseModelContext db = new DataBaseModelContext(); try { grupoUsuario.Descripcion = grupoUsuario.Descripcion.Trim(); if (db.GrupoUsuario.Any(a => a.Descripcion == grupoUsuario.Descripcion && a.IdTipoGrupo == grupoUsuario.IdTipoGrupo && a.IdTipoUsuario == grupoUsuario.IdTipoUsuario)) { throw new Exception("Ya existe un Grupo con esta descripcion"); } db.ContextOptions.ProxyCreationEnabled = _proxy; //TODO: Cambiar habilitado por el que viene embebido grupoUsuario.Habilitado = true; grupoUsuario.TieneSupervisor = grupoUsuario.SubGrupoUsuario.Any(a => a.IdSubRol == (int)BusinessVariables.EnumSubRoles.Supervisor); if (grupoUsuario.Id == 0) { grupoUsuario.EstatusTicketSubRolGeneral = GeneraEstatusGrupoDefault(grupoUsuario); grupoUsuario.EstatusAsignacionSubRolGeneral = GeneraEstatusAsignacionGrupoDefault(grupoUsuario); db.GrupoUsuario.AddObject(grupoUsuario); } db.SaveChanges(); } catch (Exception ex) { throw new Exception(ex.Message); } finally { db.Dispose(); } }
public RolTipoUsuario ObtenerRolTipoUsuario(int idTipoUsuario, int idRol) { RolTipoUsuario result; DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.ProxyCreationEnabled = _proxy; result = db.RolTipoUsuario.SingleOrDefault(w => w.IdTipoUsuario == idTipoUsuario && w.IdRol == idRol && w.Rol.Habilitado); if (result == null) { result = new RolTipoUsuario { IdRol = idRol, IdTipoUsuario = idTipoUsuario }; db.RolTipoUsuario.AddObject(result); db.SaveChanges(); } } catch (Exception ex) { throw new Exception(ex.Message); } finally { db.Dispose(); } return(result); }
public void ChangePassword(int idUsuario, string contrasenaActual, string contrasenaNueva) { DataBaseModelContext db = new DataBaseModelContext(); try { string hashedPdw = SecurityUtils.CreateShaHash(contrasenaActual); Usuario user = db.Usuario.SingleOrDefault(w => w.Id == idUsuario); if (user != null) { if (user.Password != hashedPdw) { throw new Exception("Contraseña actual incorrecta"); } user.Password = SecurityUtils.CreateShaHash(contrasenaNueva); db.SaveChanges(); } } catch (Exception ex) { throw new Exception(ex.Message); } finally { db.Dispose(); } }
public void Actualizar(int idPuesto, Puesto puesto) { DataBaseModelContext db = new DataBaseModelContext(); try { if (db.Puesto.Any(a => a.Descripcion == puesto.Descripcion && a.IdTipoUsuario == puesto.IdTipoUsuario && a.Id != idPuesto)) { throw new Exception("Este Puesto ya existe."); } db.ContextOptions.LazyLoadingEnabled = true; Puesto pto = db.Puesto.SingleOrDefault(s => s.Id == idPuesto); if (pto == null) { return; } pto.Descripcion = puesto.Descripcion.Trim(); db.SaveChanges(); } catch (Exception ex) { throw new Exception(ex.Message); } finally { db.Dispose(); } }
public void CrearDiasFestivos(DiasFeriados item) { DataBaseModelContext db = new DataBaseModelContext(); try { item.Descripcion = item.Descripcion; if (db.DiasFeriados.Any(a => a.Descripcion == item.Descripcion)) { throw new Exception("Ya Existe un grupo de Dias Con este Nombre."); } item.FechaAlta = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"), "yyyy-MM-dd HH:mm:ss:fff", CultureInfo.InvariantCulture); item.Descripcion = item.Descripcion.Trim(); item.Habilitado = true; foreach (DiasFeriadosDetalle detalle in item.DiasFeriadosDetalle) { detalle.Descripcion = detalle.Descripcion.Trim(); detalle.Habilitado = true; } db.DiasFeriados.AddObject(item); db.SaveChanges(); } catch (Exception ex) { throw new Exception(ex.Message); } finally { db.Dispose(); } }
public void CrearCatalogo(string nombreCatalogo, bool esMascara) { DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.ProxyCreationEnabled = _proxy; nombreCatalogo = nombreCatalogo.Trim().ToUpper(); Catalogos catalogo = new Catalogos { Descripcion = nombreCatalogo }; catalogo.Tabla = (BusinessVariables.ParametrosCatalogo.PrefijoTabla + nombreCatalogo).Replace(" ", string.Empty); catalogo.EsMascaraCaptura = esMascara; catalogo.Habilitado = true; ExisteMascara(catalogo.Tabla); CreaEstructuraBaseDatos(catalogo.Tabla); db.Catalogos.AddObject(catalogo); db.SaveChanges(); } catch (Exception ex) { throw new Exception(ex.Message); } finally { db.Dispose(); } }
public void ActualizarHorario(Horario horario) { DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.LazyLoadingEnabled = true; db.ContextOptions.ProxyCreationEnabled = true; Horario dbHorario = db.Horario.SingleOrDefault(s => s.Id == horario.Id); if (dbHorario != null) { dbHorario.Descripcion = horario.Descripcion.Trim(); dbHorario.FechaModificacion = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"), "yyyy-MM-dd HH:mm:ss:fff", CultureInfo.InvariantCulture); if (db.Horario.Any(a => a.Descripcion == horario.Descripcion && a.Id != horario.Id)) { throw new Exception("Ya existe un horario con esta descripción"); } db.SaveChanges(); } } catch (Exception ex) { throw new Exception(ex.Message); } finally { db.Dispose(); } }
public void GuardarEncuesta(Encuesta encuesta) { DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.ProxyCreationEnabled = _proxy; encuesta.Descripcion = encuesta.Descripcion.ToUpper(); //TODO: Cambiar habilitado por el embebido encuesta.Habilitado = true; if (encuesta.Id == 0) { db.Encuesta.AddObject(encuesta); } db.SaveChanges(); } catch (Exception ex) { throw new Exception((ex.InnerException).Message); } finally { db.Dispose(); } }
public void CambiarAsignacionTicket(int idTicket, int idEstatusAsignacion, int idUsuarioAsignado, int idUsuarioAsigna, string comentario) { DataBaseModelContext db = new DataBaseModelContext(); try { Ticket ticket = db.Ticket.SingleOrDefault(t => t.Id == idTicket); if (ticket != null) { ticket.IdEstatusAsignacion = idEstatusAsignacion; ticket.TicketAsignacion = new List <TicketAsignacion> { new TicketAsignacion { FechaAsignacion = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"), "yyyy-MM-dd HH:mm:ss:fff", CultureInfo.InvariantCulture), IdEstatusAsignacion = idEstatusAsignacion, IdUsuarioAsignado = idUsuarioAsignado, IdUsuarioAsigno = idUsuarioAsigna, IdTicket = idTicket, Comentarios = comentario.Trim().ToUpper() } }; } db.SaveChanges(); } catch (Exception ex) { throw new Exception(ex.Message); } finally { db.Dispose(); } }
public void CrearHorario(Horario horario) { DataBaseModelContext db = new DataBaseModelContext(); try { horario.Descripcion = horario.Descripcion.Trim(); horario.FechaAlta = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"), "yyyy-MM-dd HH:mm:ss:fff", CultureInfo.InvariantCulture); horario.Habilitado = true; if (db.Horario.Any(a => a.Descripcion == horario.Descripcion)) { throw new Exception("Ya existe un horario con esta descripción"); } db.Horario.AddObject(horario); db.SaveChanges(); } catch (Exception ex) { throw new Exception(ex.Message); } finally { db.Dispose(); } }
public void ActualizarDiasFestivos(DiasFeriados item) { DataBaseModelContext db = new DataBaseModelContext(); try { item.Descripcion = item.Descripcion; if (db.DiasFeriados.Any(a => a.Descripcion == item.Descripcion && a.Id != item.Id)) { throw new Exception("Ya Existe un grupo de Dias Con este Nombre."); } DiasFeriados diadb = db.DiasFeriados.SingleOrDefault(s => s.Id == item.Id); if (diadb != null) { diadb.Descripcion = item.Descripcion; diadb.FechaModificacion = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"), "yyyy-MM-dd HH:mm:ss:fff", CultureInfo.InvariantCulture); List <DiasFeriadosDetalle> diasEliminar = db.DiasFeriadosDetalle.Where(w => w.IdDiasFeriados == diadb.Id).ToList(); foreach (DiasFeriadosDetalle detalle in diasEliminar) { db.DiasFeriadosDetalle.DeleteObject(detalle); } diadb.DiasFeriadosDetalle = item.DiasFeriadosDetalle; List <int> subgpos = db.DiaFestivoSubGrupo.Where(w => w.IdDiasFeriados == diadb.Id).Select(s => s.IdSubGrupoUsuario).ToList(); List <int> gpos = db.SubGrupoUsuario.Where(w => subgpos.Contains(w.Id)).Select(s => s.IdGrupoUsuario).Distinct().ToList(); List <DiaFestivoSubGrupo> diasSgpoEliminar = db.DiaFestivoSubGrupo.Where(w => w.IdDiasFeriados == diadb.Id).ToList(); foreach (DiaFestivoSubGrupo diaEliminar in diasSgpoEliminar) { db.DiaFestivoSubGrupo.DeleteObject(diaEliminar); } foreach (DiasFeriadosDetalle detalleFeriado in item.DiasFeriadosDetalle) { foreach (SubGrupoUsuario subGrupoUsuario in db.SubGrupoUsuario.Where(w => gpos.Contains(w.IdGrupoUsuario))) { DiaFestivoSubGrupo diasubgpo = new DiaFestivoSubGrupo { IdSubGrupoUsuario = subGrupoUsuario.Id, IdDiasFeriados = diadb.Id, Fecha = detalleFeriado.Dia, Descripcion = detalleFeriado.Descripcion }; db.DiaFestivoSubGrupo.AddObject(diasubgpo); } } db.SaveChanges(); } } catch (Exception ex) { throw new Exception(ex.Message); } finally { db.Dispose(); } }
public void ActualizarInformacionConsulta(int idInformacionConsulta, InformacionConsulta informacion) { DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.LazyLoadingEnabled = true; InformacionConsulta info = db.InformacionConsulta.SingleOrDefault(s => s.Id == idInformacionConsulta); if (info == null) { return; } info.Descripcion = informacion.Descripcion.Trim().ToUpper(); info.IdTipoInfConsulta = informacion.IdTipoInfConsulta; info.IdTipoDocumento = informacion.IdTipoDocumento; //TODO: Cambiar habilitado por el embebido info.Habilitado = true; switch (informacion.IdTipoInfConsulta) { case (int)BusinessVariables.EnumTiposInformacionConsulta.EditorDeContenido: for (int i = 0; i < info.InformacionConsultaDatos.Count; i++) { info.InformacionConsultaDatos[i].Descripcion = informacion.InformacionConsultaDatos[i].Descripcion; } break; case (int)BusinessVariables.EnumTiposInformacionConsulta.Documento: for (int i = 0; i < info.InformacionConsultaDatos.Count; i++) { info.InformacionConsultaDatos[i].Descripcion = informacion.InformacionConsultaDatos[i].Descripcion; } break; case (int)BusinessVariables.EnumTiposInformacionConsulta.PaginaHtml: for (int i = 0; i < info.InformacionConsultaDatos.Count; i++) { if (!informacion.InformacionConsultaDatos.First().Descripcion.StartsWith("http://")) { info.InformacionConsultaDatos.First().Descripcion = "http://" + informacion.InformacionConsultaDatos.First().Descripcion; } } break; default: throw new Exception("Seleccione un tipo de información"); } db.SaveChanges(); } catch (Exception ex) { throw new Exception((ex.InnerException).Message); } finally { db.Dispose(); } }
public void AgregarDiaFeriado(DiaFeriado dia) { DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.ProxyCreationEnabled = _proxy; dia.Descripcion = dia.Descripcion.Trim(); dia.Habilitado = true; if (dia.Id == 0) { if (db.DiaFeriado.Any(a => a.Fecha == dia.Fecha)) { throw new Exception("Esta fecha ya fue registrada anteriormente."); } if (db.DiaFeriado.Any(a => a.Descripcion == dia.Descripcion.Trim())) { throw new Exception("Esta Descripción ya fue registrada anteriormente."); } dia.FechaAlta = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"), "yyyy-MM-dd HH:mm:ss:fff", CultureInfo.InvariantCulture); db.DiaFeriado.AddObject(dia); } else { if (db.DiaFeriado.Any(a => a.Fecha == dia.Fecha && a.Id != dia.Id)) { throw new Exception("Esta fecha ya fue registrada anteriormente."); } if (db.DiaFeriado.Any(a => a.Descripcion == dia.Descripcion.Trim() && a.Id != dia.Id)) { throw new Exception("Esta Descripción ya fue registrada anteriormente."); } DiaFeriado diaF = db.DiaFeriado.SingleOrDefault(s => s.Id == dia.Id); if (diaF != null) { diaF.FechaModificacion = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"), "yyyy-MM-dd HH:mm:ss:fff", CultureInfo.InvariantCulture); diaF.IdUsuarioModifico = dia.IdUsuarioAlta; foreach (DiasFeriadosDetalle detalle in db.DiasFeriadosDetalle.Where(w => w.Dia == diaF.Fecha)) { detalle.Descripcion = dia.Descripcion; detalle.Dia = dia.Fecha; } diaF.Descripcion = dia.Descripcion; diaF.Fecha = dia.Fecha; } } db.SaveChanges(); } catch (Exception ex) { throw new Exception(ex.Message); } finally { db.Dispose(); } }
public InformacionConsulta GuardarInformacionConsulta(InformacionConsulta informacion, List <string> documentosDescarga) { DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.ProxyCreationEnabled = _proxy; if (db.InformacionConsulta.Any(a => a.Descripcion == informacion.Descripcion)) { throw new Exception("Este Artículo ya existe."); } informacion.Descripcion = informacion.Descripcion.Trim(); informacion.Habilitado = true; informacion.FechaAlta = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"), "yyyy-MM-dd HH:mm:ss:fff", CultureInfo.InvariantCulture); if (informacion.Id == 0) { db.InformacionConsulta.AddObject(informacion); } db.SaveChanges(); informacion = db.InformacionConsulta.Single(s => s.Id == informacion.Id); foreach (string s in documentosDescarga) { informacion.InformacionConsultaDocumentos.Add(new InformacionConsultaDocumentos { IdTipoDocumento = ObtenerTipoDocumento(s), Archivo = informacion.Id + s, FechaAlta = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"), "yyyy-MM-dd HH:mm:ss:fff", CultureInfo.InvariantCulture), IdUsuarioAlta = informacion.IdUsuarioAlta, }); } db.SaveChanges(); BusinessFile.MoverTemporales(BusinessVariables.Directorios.RepositorioTemporalInformacionConsulta, BusinessVariables.Directorios.RepositorioInformacionConsulta, documentosDescarga); } catch (Exception ex) { throw new Exception(ex.Message); } finally { db.Dispose(); } return(informacion); }
public void InsertarMensaje(int idUsuario, int idTipoLink, int idTelefono, string mensaje) { DataBaseModelContext db = new DataBaseModelContext(); try { if (!db.Usuario.Any(a => a.Id == idUsuario) && ! db.TelefonoUsuario.Any(a => a.Id == idTelefono && a.IdUsuario == idUsuario)) { return; } List <SmsService> smsHabilitados = db.SmsService.Where(a => a.IdUsuario == idUsuario && a.IdTipoLink == idTipoLink && a.Habilitado).ToList(); foreach (SmsService mensajeHabillitados in smsHabilitados) { mensajeHabillitados.Habilitado = false; db.SaveChanges(); } SmsService sms = new SmsService { IdUsuario = idUsuario, IdTipoLink = idTipoLink, Numero = db.TelefonoUsuario.Single(s => s.Id == idTelefono).Numero, Mensaje = mensaje, Enviado = false, Habilitado = true }; db.SmsService.AddObject(sms); db.SaveChanges(); } catch (Exception e) { throw new Exception(e.Message); } finally { db.Dispose(); } }
public void GuardarUsuario(Usuario usuario) { DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.LazyLoadingEnabled = true; string tmpurl = usuario.Password; Guid g = Guid.NewGuid(); ParametroCorreo correo = db.ParametroCorreo.SingleOrDefault(s => s.IdTipoCorreo == (int)BusinessVariables.EnumTipoCorreo.AltaUsuario && s.Habilitado); usuario.ApellidoPaterno = usuario.ApellidoPaterno.ToUpper(); usuario.ApellidoMaterno = usuario.ApellidoMaterno.ToUpper(); usuario.Nombre = usuario.Nombre.ToUpper(); usuario.Password = ConfigurationManager.AppSettings["siteUrl"] + tmpurl + "?confirmacionalta=" + usuario.Id + "_" + g; usuario.UsuarioLinkPassword = new List <UsuarioLinkPassword> { new UsuarioLinkPassword { Activo = true, Link = g, Fecha = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"), "yyyy-MM-dd HH:mm:ss:fff", CultureInfo.InvariantCulture), IdTipoLink = (int)BusinessVariables.EnumTipoLink.Confirmacion } }; if (usuario.Id == 0) { db.Usuario.AddObject(usuario); db.SaveChanges(); } usuario.Password = ConfigurationManager.AppSettings["siteUrl"] + tmpurl + "?confirmacionalta=" + usuario.Id + "_" + g; if (correo != null) { String body = NamedFormat.Format(correo.Contenido, usuario); foreach (CorreoUsuario correoUsuario in usuario.CorreoUsuario) { BusinessCorreo.SendMail(correoUsuario.Correo, correo.TipoCorreo.Descripcion, body); } } } catch (Exception ex) { throw new Exception((ex.InnerException).Message); } finally { db.Dispose(); } }
public void GuardarInformacionConsulta(InformacionConsulta informacion) { DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.ProxyCreationEnabled = _proxy; informacion.Descripcion = informacion.Descripcion.Trim().ToUpper(); switch (informacion.IdTipoInfConsulta) { case (int)BusinessVariables.EnumTiposInformacionConsulta.EditorDeContenido: break; case (int)BusinessVariables.EnumTiposInformacionConsulta.Documento: break; case (int)BusinessVariables.EnumTiposInformacionConsulta.PaginaHtml: if (!informacion.InformacionConsultaDatos.First().Descripcion.StartsWith("http://")) { informacion.InformacionConsultaDatos.First().Descripcion = "http://" + informacion.InformacionConsultaDatos.First().Descripcion; } break; default: throw new Exception("Seleccione un tipo de información"); } //TODO: Cambiar habilitado por el embebido informacion.Habilitado = true; if (informacion.Id == 0) { db.InformacionConsulta.AddObject(informacion); } db.SaveChanges(); } catch (Exception ex) { throw new Exception((ex.InnerException).Message); } finally { db.Dispose(); } }
public string EnviaCodigoVerificacionCorreo(int idUsuario, int idTipoNotificacion, int idCorreo) { DataBaseModelContext db = new DataBaseModelContext(); string result = null; try { db.ContextOptions.ProxyCreationEnabled = _proxy; Random generator = new Random(); String codigo = generator.Next(0, 99999).ToString("D5"); Guid g = Guid.NewGuid(); ParametroCorreo correo = db.ParametroCorreo.SingleOrDefault(s => s.IdTipoCorreo == (int)BusinessVariables.EnumTipoCorreo.RecuperarCuenta && s.Habilitado); if (correo != null) { string to = db.CorreoUsuario.Single(s => s.Id == idCorreo).Correo; db.LoadProperty(correo, "TipoCorreo"); Usuario usuario = db.Usuario.Single(u => u.Id == idUsuario); db.LoadProperty(usuario, "CorreoUsuario"); String body = string.Format(correo.Contenido, usuario.NombreCompleto, ConfigurationManager.AppSettings["siteUrl"] + "/FrmRecuperar.aspx?confirmacionCodigo=" + BusinessQueryString.Encrypt(idUsuario + "_" + g) + "&correo=" + BusinessQueryString.Encrypt(idCorreo.ToString()) + "&code=" + BusinessQueryString.Encrypt(codigo), codigo); BusinessCorreo.SendMail(to, correo.TipoCorreo.Descripcion, body); usuario.UsuarioLinkPassword = new List <UsuarioLinkPassword> { new UsuarioLinkPassword { Activo = true, Link = g, Fecha = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"), "yyyy-MM-dd HH:mm:ss:fff", CultureInfo.InvariantCulture), IdTipoLink = (int)BusinessVariables.EnumTipoLink.Reset, Codigo = codigo } }; db.SaveChanges(); result = g.ToString(); } } catch (Exception ex) { throw new Exception((ex.InnerException).Message); } finally { db.Dispose(); } return(result); }