public RespuestaServicio <DispositivoView> Agregar(Dispositivo dispositivo) { RespuestaServicio <DispositivoView> respuesta = new RespuestaServicio <DispositivoView>(); if (dispositivo.Llave == null || dispositivo.Llave.Count() == 0) { respuesta.Mensaje = "El dispositivo no se pudo guardar correctamente"; } else { db.Dispositivos.Add(dispositivo); db.SaveChanges(); if (dispositivo.Id > 0) { DispositivoView dispositivoGuardado = new DispositivoView(); dispositivoGuardado.Id = dispositivo.Id; dispositivoGuardado.IdPersona = dispositivo.IdPersona; dispositivoGuardado.Llave = dispositivo.Llave; dispositivoGuardado.Activo = dispositivo.Activo; respuesta.Respuesta = dispositivoGuardado; } else { respuesta.Mensaje = "El dispositivo no se pudo guardar correctamente"; } } return(respuesta); }
public RespuestaServicio <DispositivoView> DispositivoActualByPersona(int idPersona, string llave) { RespuestaServicio <DispositivoView> respuesta = new RespuestaServicio <DispositivoView>(); var listaDispositivos = GetDispositivosByPersona(idPersona); if (listaDispositivos.EjecucionCorrecta) { if (listaDispositivos == null || listaDispositivos.Respuesta.Count == 0) { Dispositivo dispositivoNuevo = new Dispositivo(); dispositivoNuevo.Llave = llave; dispositivoNuevo.IdPersona = idPersona; dispositivoNuevo.Activo = true; respuesta = Agregar(dispositivoNuevo); } else { DispositivoView dispositivo = listaDispositivos.Respuesta.Where(x => x.Llave == llave).FirstOrDefault(); if (dispositivo != null) { List <Dispositivo> dispositivosActulizar = listaDispositivos.Respuesta.Select(x => new Dispositivo { Id = x.Id, Activo = false, IdPersona = x.IdPersona, Llave = x.Llave }).Where(x => x.Llave != llave).ToList(); Dispositivo disp = listaDispositivos.Respuesta.Select(x => new Dispositivo { Id = x.Id, Activo = false, IdPersona = x.IdPersona }).Where(x => x.Llave == llave).FirstOrDefault(); foreach (Dispositivo elem in dispositivosActulizar) { elem.Activo = false; } dispositivosActulizar.Add(disp); var dispositivosUpdate = UpdateDispositivos(dispositivosActulizar); } else { Dispositivo dispositivoNuevo = new Dispositivo(); dispositivoNuevo.Llave = llave; dispositivoNuevo.IdPersona = idPersona; dispositivoNuevo.Activo = true; respuesta = Agregar(dispositivoNuevo); } } } return(respuesta); }