internal virtual CoreResult DeleteBase(KeyType primaryKey, int userID) { try { if (mossHospitalEntities == null || !CheckAutoDetectChanges(mossHospitalEntities)) { throw new ArgumentNullException(string.Format("\"MossHospitalEntities\": NULL hoặc \"AutoDetectChanges\" = \"false\".")); } else { var model = mossHospitalEntities.Set <T>().Find(primaryKey); if (model != null) { if (DeleteTemp) { GetValuesUpdateWhenDelete(); valuesDeletes.Add("userIDUpdated", userID); SetValuesDelete(model); mossHospitalEntities.Set <T>().Attach(model); mossHospitalEntities.Entry <T>(model).State = EntityState.Modified; var result = DbSaveChanges(); return(new CoreResult { StatusCode = result, Message = GetMessageByCoreStatusCode(result, ActionType.Delete), Data = primaryKey }); } else { mossHospitalEntities.Set <T>().Attach(model); mossHospitalEntities.Entry <T>(model).State = EntityState.Deleted; var result = DbSaveChanges(); return(new CoreResult { StatusCode = result, Message = GetMessageByCoreStatusCode(result, ActionType.Delete), Data = primaryKey }); } } else { return(new CoreResult { StatusCode = CoreStatusCode.NotFound, Message = GetMessageByCoreStatusCode(CoreStatusCode.NotFound, ActionType.Delete), Data = primaryKey }); } } } catch (Exception ex) { throw ex; } }
internal Tuple <CoreStatusCode, T> SaveChange(KeyType id, T item) { try { using (var db = new MossHospitalEntities()) { var model = db.Set <T>().Find(id); if (model != null) { //db.Entry<T>(model).State = EntityState.Detached; db.Entry <T>(item).State = EntityState.Modified; int counter = db.SaveChanges(); db.Entry <T>(item).GetDatabaseValues(); if (_useCache) { if (counter > 0) { this.RefreshCache(); return(Tuple.Create(CoreStatusCode.OK, item)); } else { return(Tuple.Create(CoreStatusCode.Failed, item)); } } return(Tuple.Create(counter >= 0 ? CoreStatusCode.OK : CoreStatusCode.Failed, item)); } else { return(Tuple.Create(CoreStatusCode.NotFound, item)); } } } catch (Exception ex) { throw ex; } }