public ErrorCodes Update(ref MMeasurementTag tag, MSystemUser user) { Log.Logger.Information("Update a seminar tag {@tag}", tag); using (var transaction = DbContext.Database.BeginTransaction()) { MMeasurementTag originalTag = DbContext.MMeasurementTag.Find(tag.MmtId); if (!originalTag.MmtUpdateDatetime.Equals(tag.MmtUpdateDatetime)) { return(ErrorCodes.DataIntegrity); } originalTag.UpdateTagInfo(tag); originalTag.UpdateEditingInfo(user); originalTag.EnsureTagInfoNotNull(); DbContext.Update(originalTag); int effectedRows = DbContext.SaveChanges(); if (effectedRows != 1) { transaction.Rollback(); return(ErrorCodes.SaveFailure); } transaction.Commit(); tag = originalTag; } Log.Logger.Information("Update sucessfully"); return(ErrorCodes.None); }
public ErrorCodes Insert(ref MMeasurementTag tag, MSystemUser user) { Log.Logger.Information("Insert a new seminar tag {@tag}", tag); using (var transaction = DbContext.Database.BeginTransaction()) { tag.UpdateCreatingInfo(user); tag.EnsureTagInfoNotNull(); DbContext.Add(tag); int effectedRows = DbContext.SaveChanges(); if (effectedRows != 1) { transaction.Rollback(); return(ErrorCodes.SaveFailure); } transaction.Commit(); } Log.Logger.Information("Insert successfully"); return(ErrorCodes.None); }