public string add(IdButton o, string user, string nit, List <string> gps) { var mensaje = new List <KeyValuePair <string, string> >(); using (var transact = db.Database.BeginTransaction()) { try { if (!existe(o, nit)) { if (!existeEmpresa(o, nit)) { db.IdButton.Add(o); db.SaveChanges(); var idbtton = (from x in db.IdButton where x.Keys == o.Keys select x).FirstOrDefault(); EmpresaIDButton emp = new EmpresaIDButton() { CodButton = idbtton.ID, Nit = nit, UsuarioReg = user, Estado = true, FechaReg = DateTime.Now }; db.EmpresaIDButton.Add(emp); db.SaveChanges(); foreach (var item in gps) { IDButtonGps idgos = new IDButtonGps() { Estado = true, IMEI = item, CODIDButton = idbtton.ID, FechaReg = DateTime.Now, UsuReg = user }; db.IDButtonGps.Add(idgos); db.SaveChanges(); } transact.Commit(); mensaje.Add(Utils.mensaje("OK", "Registro corectamente...")); } else { mensaje.Add(Utils.mensaje("ERROR", "No se puede Registra El IDButton contactese con su Proveedro de servicio..")); } } else { mensaje.Add(Utils.mensaje("ERROR", "El IDBUtton ya se encuentra registrado")); } } catch (Exception ex) { transact.Rollback(); mensaje.Clear(); mensaje.Add(Utils.mensaje("ERROR", ex.Message)); } } return(JsonConvert.SerializeObject(mensaje)); }
public string update(IdButton o, string user, string nit, List <string> gps) { var mensaje = new List <KeyValuePair <string, string> >(); using (var transact = db.Database.BeginTransaction()) { try { if (existe(o, nit)) { if (!existeEmpresa(o, nit)) { var idbtton = (from x in db.IdButton where x.ID == o.ID select x).FirstOrDefault(); idbtton.Alias = o.Alias; idbtton.FechaMod = o.FechaMod; idbtton.UsuaMod = user; idbtton.Estado = o.Estado; db.SaveChanges(); var gpsactuales = (from x in db.IDButtonGps where x.CODIDButton == o.ID select x.IMEI).ToList(); var gpsadd = gps.Except(gpsactuales); var gpsremoves = gpsactuales.Except(gps); foreach (var item in gpsadd) { IDButtonGps idgos = new IDButtonGps() { Estado = true, IMEI = item, CODIDButton = idbtton.ID, FechaReg = DateTime.Now, UsuReg = user }; db.IDButtonGps.Add(idgos); db.SaveChanges(); } foreach (var item1 in gpsremoves) { var remov = (from x in db.IDButtonGps where x.IMEI == item1 && x.CODIDButton == idbtton.ID select x).FirstOrDefault(); db.IDButtonGps.Remove(remov); db.SaveChanges(); } transact.Commit(); mensaje.Add(Utils.mensaje("OK", "Se Actualizo Correctamente...")); } else { mensaje.Add(Utils.mensaje("ERROR", "No se puede Registra El IDButton contactese con su Proveedro de servicio..")); } } else { mensaje.Add(Utils.mensaje("ERROR", "El IDBUtton ya se encuentra registrado")); } } catch (Exception ex) { mensaje.Clear(); mensaje.Add(Utils.mensaje("ERROR", ex.Message)); } } return(new JavaScriptSerializer().Serialize(mensaje)); }