public Respuesta update([FromUri] int id, [FromBody] Promocion promocion_data) { Respuesta respuesta = new Respuesta(); respuesta.resultado = 0; if (id < 1 || promocion_data == null) { respuesta.mensaje = "No se recibieron datos."; return(respuesta); } respuesta.mensaje = Tools.VerifyToken(promocion_data.sesion, 29); if (respuesta.mensaje != "1") { return(respuesta); } try { using (MacEntities db = new MacEntities()) { var estatus = true; if (promocion_data.estatus == "Inactiva") { } tbl_promociones promocion = db.tbl_promociones.Find(id); if (promocion == null) { respuesta.mensaje = "No se encontro la promoción"; return(respuesta); } promocion.nombre = promocion_data.nombre; promocion.descripcion = promocion_data.descripcion; promocion.precio = promocion_data.precio; promocion.imagen = promocion_data.imagen; if (promocion_data.estatus == "Inactiva") { promocion.fecha_anulacion = DateTime.Now; estatus = false; } promocion.estatus = estatus; promocion.fecha_desde = Tools.GetDateTimeObject(promocion_data.fecha_desde); promocion.fecha_fin = Tools.GetDateTimeObject(promocion_data.fecha_fin); db.Entry(promocion).State = System.Data.Entity.EntityState.Modified; if (db.SaveChanges() < 1) { respuesta.mensaje = "Error, no se pudo actualizar la promoción"; } else { respuesta.mensaje = "La promoción fue actualizada exitosamente."; respuesta.resultado = 1; } } } catch (Exception ex) { respuesta.mensaje = "Error, intente mas tarde."; //respuesta.data = ex; } finally { } return(respuesta); }//Update
public Respuesta suspend([FromUri] int id, [FromBody] Promocion promocion_data) { Respuesta respuesta = new Respuesta(); respuesta.resultado = 0; respuesta.mensaje = Tools.VerifyToken(promocion_data.sesion, 29); if (respuesta.mensaje != "1") { return(respuesta); } try { using (MacEntities db = new MacEntities()) { var id_usuario_anulacion = (from usuario in db.tbl_usuarios where usuario.usuario == promocion_data.sesion.usuario && usuario.activo == true select usuario.id).FirstOrDefault(); if (id_usuario_anulacion == 0) { respuesta.mensaje = "El usuario no pudo ser encontrado."; return(respuesta); } tbl_promociones promocion = db.tbl_promociones.Find(id); if (promocion == null) { respuesta.mensaje = "La prmocion no pudo ser encontrada."; return(respuesta); } promocion.id_usuario_anulacion = id_usuario_anulacion; promocion.motivo_anulacion = promocion_data.motivo_anulacion; promocion.fecha_anulacion = DateTime.Now; promocion.estatus = false; db.Entry(promocion).State = System.Data.Entity.EntityState.Modified; if (db.SaveChanges() < 1) { respuesta.mensaje = "Error, no se pudo suspender la promoción"; } else { respuesta.mensaje = "La promoción fue suspendida exitosamente."; respuesta.resultado = 1; } } } catch (Exception ex) { respuesta.mensaje = "Error, intente mas tarde."; } finally { } return(respuesta); }//Update
public Respuesta update([FromBody] Nota nota_actualizada, [FromUri] int id, [FromUri] int nota_id) { Respuesta respuesta = new Respuesta(); respuesta.resultado = 0; respuesta.mensaje = Tools.VerifyToken(nota_actualizada.sesion, Tools.crm_rol_id); if (respuesta.mensaje != "1") { return(respuesta); } try { using (MacEntities db = new MacEntities()) { var id_contacto = (from c in db.tbl_contactos where c.id == id select c.id).FirstOrDefault(); if (id_contacto == 0) { respuesta.mensaje = "Error, contacto no encontrado."; return(respuesta); } tbl_contactos_notas nota = db.tbl_contactos_notas.Find(nota_id); if (nota == null) { respuesta.mensaje = "Error, nota no encontrada."; return(respuesta); } nota.titulo = ""; nota.contenido = nota_actualizada.contenido; db.Entry(nota).State = System.Data.Entity.EntityState.Modified; if (db.SaveChanges() < 1) { respuesta.mensaje = "Hubo un error con la actualizacion de la nota."; return(respuesta); } respuesta.mensaje = "Nota actualizada exitosamente."; respuesta.resultado = 1; } //using } //try catch (DbEntityValidationException ex) { respuesta.mensaje = "Errores econtrados."; List <Error> error_list = new List <Error>(); foreach (var errors in ex.EntityValidationErrors) { foreach (var error in errors.ValidationErrors) { // get the error message error_list.Add(new Error(error.ErrorMessage)); } //inner foreach } //foreach respuesta.data = error_list; } //DbEntityValidationException ex catch (Exception e) { respuesta.mensaje = "Error, intente mas tarde."; respuesta.data = e; } return(respuesta); }//update
public Respuesta update([FromBody] Seguimiento seguimiento_actualizado, [FromUri] int id, [FromUri] int seguimiento_id) { Respuesta respuesta = new Respuesta(); respuesta.resultado = 0; respuesta.mensaje = Tools.VerifyToken(seguimiento_actualizado.sesion, Tools.crm_rol_id); if (respuesta.mensaje != "1") { return(respuesta); } try { using (MacEntities db = new MacEntities()) { //departamento id var tipo_seguimiento_id = (from s in db.tbl_seguimientos where s.nombre == seguimiento_actualizado.tipo_seguimiento select s.id).FirstOrDefault(); if (tipo_seguimiento_id == 0) { respuesta.mensaje = "Error, tipo de seguimiento no encontrado."; return(respuesta); } //departamento id var resultado_id = (from r in db.tbl_resultados where r.nombre == seguimiento_actualizado.resultado select r.id).FirstOrDefault(); if (resultado_id == 0) { respuesta.mensaje = "Error, tipo de resultado no encontrado."; return(respuesta); } var id_contacto = (from c in db.tbl_contactos where c.id == id select c.id).FirstOrDefault(); if (id_contacto == 0) { respuesta.mensaje = "Error, contacto no encontrado."; return(respuesta); } tbl_contactos_seguimientos seguimiento = db.tbl_contactos_seguimientos.Find(id); if (seguimiento == null) { respuesta.mensaje = "Error, seguimiento no encontrado."; return(respuesta); } seguimiento.id_seguimiento = tipo_seguimiento_id; seguimiento.id_resultado = resultado_id; seguimiento.id_contacto = id_contacto; seguimiento.observaciones = seguimiento_actualizado.observaciones; seguimiento.fecha = Tools.GetFullDateTimeObject(seguimiento_actualizado.fecha); db.Entry(seguimiento).State = System.Data.Entity.EntityState.Modified; db.tbl_contactos_seguimientos.Add(seguimiento); if (db.SaveChanges() < 1) { respuesta.mensaje = "Hubo un error con la actualizacion del seguimiento."; return(respuesta); } respuesta.mensaje = "Seguimiento actualizado exitosamente."; respuesta.resultado = 1; } //using } //try catch (DbEntityValidationException ex) { respuesta.mensaje = "Errores econtrados."; List <Error> error_list = new List <Error>(); foreach (var errors in ex.EntityValidationErrors) { foreach (var error in errors.ValidationErrors) { // get the error message error_list.Add(new Error(error.ErrorMessage)); } //inner foreach } //foreach respuesta.data = error_list; } //DbEntityValidationException ex catch (Exception e) { respuesta.mensaje = "Error, intente mas tarde."; respuesta.data = e; } return(respuesta); }//update
public Respuesta ActualizarHuella([FromUri] int id_empleado, [FromBody] Empleado empleado_actualizado) { Respuesta respuesta = new Respuesta(); respuesta.resultado = 0; byte[] huella; try { huella = Convert.FromBase64String(empleado_actualizado.huella); } catch (Exception e) { respuesta.mensaje = "Error, la huella es invalida."; respuesta.data = e; return(respuesta); } //respuesta.data = huella; //respuesta.mensaje = "si logro decodificar"; return respuesta; try { using (MacEntities db = new MacEntities()) { var empleado = (from e in db.tbl_empleados where e.id == id_empleado select e).FirstOrDefault(); if (empleado == null) { respuesta.mensaje = "Error, empleado no encontrado."; return(respuesta); } empleado.huella = huella; db.Entry(empleado).State = System.Data.Entity.EntityState.Modified; if (db.SaveChanges() < 1) { respuesta.mensaje = "Hubo un error con la actualización de la huella del empleado."; return(respuesta); } } respuesta.resultado = 1; respuesta.mensaje = "Huella actualizada."; }//try catch (DbEntityValidationException ex) { respuesta.mensaje = "Errores econtrados."; List <Error> error_list = new List <Error>(); foreach (var errors in ex.EntityValidationErrors) { foreach (var error in errors.ValidationErrors) { // get the error message error_list.Add(new Error(error.ErrorMessage)); } //inner foreach } //foreach respuesta.data = error_list; } //DbEntityValidationException ex catch (Exception e) { respuesta.mensaje = "Error, intente mas tarde."; respuesta.data = e; } return(respuesta); }//update huella
public Respuesta Login([FromBody] Usuario usuario_login) { int login_type = 2; Respuesta respuesta = new Respuesta(); respuesta.resultado = 0; try { using (MacEntities db = new MacEntities()) { var usuario = (from u in db.tbl_usuarios where u.usuario == usuario_login.nombre_usuario select u).FirstOrDefault(); if (usuario == null) { respuesta.mensaje = "Usuario no encontrado."; return(respuesta); } if (!(bool)usuario.activo) { respuesta.mensaje = "Usuario inactivo."; return(respuesta); } Token api_token = new Token() { login_clave = false }; //var clave2 = Tools.GetSHA256(usuario_login.clave); var clave2 = usuario_login.clave; if (usuario.clave != clave2) { if (usuario.clave == usuario_login.clave && usuario.clave2 == null) { api_token.login_clave = false; } else { respuesta.mensaje = "Contraseña incorrecta."; return(respuesta); } } var token = (from t in db.tbl_api_tokens where t.id_usuario == usuario.id && t.estatus == 1 select t).FirstOrDefault(); if (token != null) { token.estatus = 0; db.Entry(token).State = System.Data.Entity.EntityState.Modified; if (db.SaveChanges() < 1) { respuesta.mensaje = "Su sesión previa no pudo ser cerrada."; return(respuesta); } }//if token !=null string token_string = Guid.NewGuid().ToString(); tbl_api_tokens new_token = new tbl_api_tokens() { id_usuario = usuario.id, estatus = 1, nombre = usuario.nombre.ToString(), apellido = usuario.apellido.ToString(), fecha_registro = DateTime.Now, id_centro = usuario.id_centro, token = Tools.GetSHA256(token_string) }; db.tbl_api_tokens.Add(new_token); if (db.SaveChanges() < 1) { respuesta.mensaje = "No se pudo iniciar una nueva sesión."; return(respuesta); } api_token.rol = (int)usuario.id_rol; api_token.usuario = usuario.usuario; api_token.id_usuario = (int)new_token.id_usuario; api_token.nombre = usuario.nombre; api_token.apellido = usuario.apellido; api_token.token = token_string; api_token.id_centro = (int)usuario.id_centro; respuesta.mensaje = "Inicio de sesión exitoso."; respuesta.resultado = 1; respuesta.data = api_token; } //using } //try catch (DbEntityValidationException ex) { respuesta.mensaje = "Errores econtrados."; List <Error> error_list = new List <Error>(); foreach (var errors in ex.EntityValidationErrors) { foreach (var error in errors.ValidationErrors) { // get the error message error_list.Add(new Error(error.ErrorMessage)); } //inner foreach } //foreach respuesta.data = error_list; } //DbEntityValidationException ex catch (Exception e) { respuesta.mensaje = "Error, intente mas tarde."; respuesta.data = e; } try { using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["APIDB"].ConnectionString)) { connection.Open(); SqlTransaction transaction = connection.BeginTransaction(); SqlCommand cmd = new SqlCommand($"select * from tbl_usuarios where nombre={usuario_login.nombre };", connection, transaction); cmd.CommandType = CommandType.Text; //List<Template> templates = new List<Template>(); Template templateData = new Template(); using (var rdr = cmd.ExecuteReader()) { rdr.Read(); //templateData = new Template //{ // id = GetNullable<int>(rdr, nameof(templateData.id)), // name = rdr[nameof(templateData.name)].ToString(), // description = rdr[nameof(templateData.description)].ToString(), // date_reg = GetNullable<DateTime>(rdr, nameof(templateData.date_reg)), // user_reg = rdr[nameof(templateData.user_reg)].ToString(), // status = GetNullable<int>(rdr, nameof(templateData.status)), // url = rdr[nameof(templateData.url)].ToString(), //}; //templates.Add(templateData); rdr.Close(); respuesta.resultado = 1; respuesta.mensaje = "Operación exitosa"; respuesta.data = templateData; } } } catch (Exception ex) { respuesta.resultado = 0; respuesta.mensaje = ex.Message; respuesta.data = ex; } return(respuesta); }//login
public Respuesta logout([FromBody] Token sesion) { Respuesta respuesta = new Respuesta(); respuesta.resultado = 0; try { using (MacEntities db = new MacEntities()) { var usuario = (from u in db.tbl_usuarios where u.usuario == sesion.usuario select u).FirstOrDefault(); if (usuario == null) { respuesta.mensaje = "Usuario no encontrado."; return(respuesta); } var encrypted_token = Tools.GetSHA256(sesion.token); var token = (from t in db.tbl_api_tokens where t.id_usuario == usuario.id && t.estatus == 1 && t.token == encrypted_token select t).FirstOrDefault(); if (token == null) { respuesta.mensaje = "Su sesión no pudo ser cerrada. Por seguridad se cerraron las sesiones abiertas."; respuesta.resultado = -1; var tokens = (from t in db.tbl_api_tokens where t.id_usuario == usuario.id && t.estatus == 1 select t).ToList(); foreach (tbl_api_tokens record in tokens) { record.estatus = 0; db.Entry(record).State = System.Data.Entity.EntityState.Modified; if (db.SaveChanges() < 1) { respuesta.mensaje = "Hubo un error cerrando sesiones"; } } }//if token==null else { token.estatus = 0; db.Entry(token).State = System.Data.Entity.EntityState.Modified; if (db.SaveChanges() < 1) { respuesta.mensaje = "Hubo un error al cerrar su sesión"; return(respuesta); } respuesta.mensaje = "Su sesión fue cerrada exitosamente."; respuesta.resultado = 1; } } //using } //try catch (DbEntityValidationException ex) { respuesta.mensaje = "Errores econtrados."; List <Error> error_list = new List <Error>(); foreach (var errors in ex.EntityValidationErrors) { foreach (var error in errors.ValidationErrors) { // get the error message error_list.Add(new Error(error.ErrorMessage)); } //inner foreach } //foreach respuesta.data = error_list; } //DbEntityValidationException ex catch (Exception e) { respuesta.mensaje = "Error, intente mas tarde."; respuesta.data = e; } return(respuesta); }//logout
public Respuesta login([FromBody] Usuario usuario_login) { int login_type = 2; Respuesta respuesta = new Respuesta(); respuesta.resultado = 0; try { using (MacEntities db = new MacEntities()) { var usuario = (from u in db.tbl_usuarios where u.usuario == usuario_login.nombre_usuario select u).FirstOrDefault(); if (usuario == null) { respuesta.mensaje = "Usuario no encontrado."; return(respuesta); } if (!(bool)usuario.activo) { respuesta.mensaje = "Usuario inactivo."; return(respuesta); } Token api_token = new Token() { login_clave = false }; //var clave2 = Tools.GetSHA256(usuario_login.clave); var clave2 = usuario_login.clave; if (usuario.clave != clave2) { if (usuario.clave == usuario_login.clave && usuario.clave2 == null) { api_token.login_clave = false; } else { respuesta.mensaje = "Contraseña incorrecta."; return(respuesta); } } var token = (from t in db.tbl_api_tokens where t.id_usuario == usuario.id && t.estatus == 1 select t).FirstOrDefault(); if (token != null) { token.estatus = 0; db.Entry(token).State = System.Data.Entity.EntityState.Modified; if (db.SaveChanges() < 1) { respuesta.mensaje = "Su sesión previa no pudo ser cerrada."; return(respuesta); } }//if token !=null string token_string = Guid.NewGuid().ToString(); tbl_api_tokens new_token = new tbl_api_tokens() { id_usuario = usuario.id, estatus = 1, nombre = usuario.nombre.ToString(), apellido = usuario.apellido.ToString(), fecha_registro = DateTime.Now, id_centro = usuario.id_centro, token = Tools.GetSHA256(token_string) }; db.tbl_api_tokens.Add(new_token); if (db.SaveChanges() < 1) { respuesta.mensaje = "No se pudo iniciar una nueva sesión."; return(respuesta); } api_token.rol = (int)usuario.id_rol; api_token.usuario = usuario.usuario; api_token.id_usuario = (int)new_token.id_usuario; api_token.nombre = usuario.nombre; api_token.apellido = usuario.apellido; api_token.token = token_string; api_token.id_centro = (int)usuario.id_centro; var calendario = (from ca in db.tbl_usuarios_calendarios where ca.id_usuario == usuario.id select ca).FirstOrDefault(); if (calendario.url_calendario == null || calendario.url_calendario == "" || calendario == null) { api_token.calendar = false; } else { api_token.calendar = true; } respuesta.mensaje = "Inicio de sesión exitoso."; respuesta.resultado = 1; respuesta.data = api_token; } //using } //try catch (DbEntityValidationException ex) { respuesta.mensaje = "Errores econtrados."; List <Error> error_list = new List <Error>(); foreach (var errors in ex.EntityValidationErrors) { foreach (var error in errors.ValidationErrors) { // get the error message error_list.Add(new Error(error.ErrorMessage)); } //inner foreach } //foreach respuesta.data = error_list; } //DbEntityValidationException ex catch (Exception e) { respuesta.mensaje = "Error, intente mas tarde."; respuesta.data = e; } return(respuesta); }//login
public Respuesta update([FromBody] Tarea tarea_actualizada, [FromUri] int id, [FromUri] int tarea_id) { Respuesta respuesta = new Respuesta(); respuesta.resultado = 0; respuesta.mensaje = Tools.VerifyToken(tarea_actualizada.sesion, Tools.crm_rol_id); if (respuesta.mensaje != "1") { return(respuesta); } try { using (MacEntities db = new MacEntities()) { var id_contacto = (from c in db.tbl_contactos where c.id == id select c.id).FirstOrDefault(); if (id_contacto == 0) { respuesta.mensaje = "Error, contacto no encontrado."; return(respuesta); } tbl_contactos_tareas tarea = db.tbl_contactos_tareas.Find(tarea_id); if (tarea == null) { respuesta.mensaje = "Error, tarea no encontrada."; return(respuesta); } var estatus = false; if (tarea_actualizada.solo_estado != null && tarea_actualizada.solo_estado == "1") { var primer_seguimiento_id = (from s in db.tbl_tareas_seguimientos where s.id_tarea == tarea_id select s.id_seguimiento).FirstOrDefault(); if (primer_seguimiento_id == 0) { respuesta.mensaje = "Error, seguimiento no encontrado."; return(respuesta); } tbl_contactos_seguimientos primer_seguimiento = db.tbl_contactos_seguimientos.Find(primer_seguimiento_id); if (primer_seguimiento == null) { respuesta.mensaje = "Error, datos de seguimiento no encontrados."; return(respuesta); } var tipo_resultado1 = (from r1 in db.tbl_resultados where r1.nombre == "Finalizada" select r1.id).FirstOrDefault(); if (tipo_resultado1 == 0) { respuesta.mensaje = "Error, tipo de resultado de primer seguimiento no encontrado."; return(respuesta); } tarea.estatus = true; primer_seguimiento.id_resultado = tipo_resultado1; db.Entry(primer_seguimiento).State = System.Data.Entity.EntityState.Modified; if (db.SaveChanges() < 1) { respuesta.mensaje = "Hubo un error con la actualizacion del primer seguimiento de la tarea."; return(respuesta); } //seguimiento var tipo_seguimiento = (from s in db.tbl_seguimientos where s.id == tarea_actualizada.seguimiento select s).FirstOrDefault(); if (tipo_seguimiento == null) { respuesta.mensaje = "Error, tipo de seguimiento no encontrado."; return(respuesta); } tbl_contactos_seguimientos seguimiento = new tbl_contactos_seguimientos(); var tipo_resultado = (from r in db.tbl_resultados where r.id == tarea_actualizada.resultado.id select r).FirstOrDefault(); if (tipo_resultado == null) { respuesta.mensaje = "Error, tipo de resulado no encontrado."; return(respuesta); } seguimiento.id_contacto = id_contacto; seguimiento.id_seguimiento = tarea_actualizada.seguimiento; seguimiento.id_resultado = tarea_actualizada.resultado.id; seguimiento.fecha_registro = DateTime.Now; seguimiento.fecha = tarea.fecha_agenda; seguimiento.fecha_fin = tarea.fecha_fin; seguimiento.observaciones = tarea_actualizada.observaciones_seguimiento; db.tbl_contactos_seguimientos.Add(seguimiento); if (db.SaveChanges() < 1) { respuesta.mensaje = "Hubo un error con el registro del seguimiento."; return(respuesta); } //Tarea seguimiento tbl_tareas_seguimientos tarea_seguimiento = new tbl_tareas_seguimientos(); tarea_seguimiento.id_tarea = tarea.id; tarea_seguimiento.id_seguimiento = seguimiento.id; db.tbl_tareas_seguimientos.Add(tarea_seguimiento); if (db.SaveChanges() < 1) { respuesta.mensaje = "Hubo un error con el registro del seguimiento y la tarea."; return(respuesta); } } else { tarea.tarea = tarea_actualizada.tarea; tarea.fecha_agenda = Tools.GetFullDateTimeObject(tarea_actualizada.fecha_agenda); tarea.fecha_fin = Tools.GetFullDateTimeObject(tarea_actualizada.fecha_fin); tarea.id_seguimiento = tarea_actualizada.seguimiento.ToString(); estatus = false; if (tarea_actualizada.estatus == "Completada") { estatus = true; //seguimiento var tipo_seguimiento = (from s in db.tbl_seguimientos where s.id == tarea_actualizada.seguimiento select s).FirstOrDefault(); if (tipo_seguimiento == null) { respuesta.mensaje = "Error, tipo de seguimiento no encontrado."; return(respuesta); } tbl_contactos_seguimientos seguimiento = new tbl_contactos_seguimientos(); var tipo_resultado = (from r in db.tbl_resultados where r.id == tarea_actualizada.resultado.id select r).FirstOrDefault(); if (tipo_resultado == null) { respuesta.mensaje = "Error, tipo de resulado no encontrado."; return(respuesta); } seguimiento.id_contacto = id_contacto; seguimiento.id_seguimiento = tarea_actualizada.seguimiento; seguimiento.id_resultado = tarea_actualizada.resultado.id; seguimiento.fecha_registro = DateTime.Now; seguimiento.fecha = tarea.fecha_agenda; seguimiento.fecha_fin = tarea.fecha_fin; seguimiento.observaciones = "Se completo la tarea de " + tipo_seguimiento.nombre + ", pautada para la fecha " + tarea.fecha_agenda.ToString() + ", teniendo como resultado: " + tipo_resultado.nombre; db.tbl_contactos_seguimientos.Add(seguimiento); if (db.SaveChanges() < 1) { respuesta.mensaje = "Hubo un error con el registro del seguimiento."; return(respuesta); } } tarea.estatus = estatus; } db.Entry(tarea).State = System.Data.Entity.EntityState.Modified; if (db.SaveChanges() < 1) { respuesta.mensaje = "Hubo un error con la actualizacion de la tarea."; return(respuesta); } var tareas = (from t in db.tbl_contactos_tareas where t.estatus == false && t.id_contacto == id_contacto select t).ToList(); Tarea cantidad_tarea = new Tarea(); cantidad_tarea.cantidad = tareas.Count + ""; respuesta.data = cantidad_tarea; respuesta.mensaje = "Tarea actualizada exitosamente."; respuesta.resultado = 1; } //using } //try catch (DbEntityValidationException ex) { respuesta.mensaje = "Errores econtrados."; List <Error> error_list = new List <Error>(); foreach (var errors in ex.EntityValidationErrors) { foreach (var error in errors.ValidationErrors) { // get the error message error_list.Add(new Error(error.ErrorMessage)); } //inner foreach } //foreach respuesta.data = error_list; } //DbEntityValidationException ex catch (Exception e) { respuesta.mensaje = "Error, intente mas tarde."; respuesta.data = e; } return(respuesta); }//update