public static int GetEstado(string descripcion, WeatherAContext db) { var estado = db.States.Where(e => e.Name == descripcion).FirstOrDefault(); if (estado == null) { estado = new State { Name = descripcion, }; db.States.Add(estado); db.SaveChanges(); } return(estado.StateID); }
public static Response Save(WeatherAContext db) { try { db.SaveChanges(); Hubs.MessagesHub.SendMessages(); return(new Response { Succeeded = true, }); } catch (Exception ex) { var respuesta = new Response { Succeeded = false, }; if (ex.InnerException != null && ex.InnerException.InnerException != null) { if (ex.InnerException.InnerException.Message.Contains("_Index")) { respuesta.Message = "¡Error! el registro ya existe"; if (ex.InnerException.InnerException.Message.Contains("Referencia_Index")) { respuesta.Message = "¡Error! código ya existe"; } if (ex.InnerException.InnerException.Message.Contains("Name_Index")) { respuesta.Message = "¡Error! el Nombre ya existe"; } } if (ex.InnerException.InnerException.Message.Contains("REFERENCE")) { respuesta.Message = "¡Error! no se puede eliminar. Tiene registros relacionados"; } } else { respuesta.Message = ex.Message; } new ManagerException().RegistrarError(new ReporteError { Fecha = DateTime.Now, Error = ex.Message, Traza = ex.ToString(), Origen = "AppWEb", Referencia = "Consulta DB" }); return(respuesta); } }