/// <summary> /// /// </summary> /// <param name=""></param> public OperationResult <ModelUser> GetUserById(int id) { OperationResult <ModelUser> res = null; try { var entity = DataContext .Users .Include(x => x.OrgMember) .ThenInclude(x => x.Org) .FirstOrDefault(x => x.Id == id); ModelUser model = null; if (null != entity) { model = entity .ToModel() .AddTime(DataContext.Entry(entity)) .AddVersion(DataContext.Entry(entity)); } res = OperationResult <ModelUser> .Create( () => null != entity, model, ErrorCode.BadGetUser); } catch (Exception e) { res = OperationResult <ModelUser> .Create(ErrorCode.BadGetUser, e); } return(res); }
/// <summary> /// /// </summary> /// <param name="team"></param> /// <returns></returns> public OperationResult <ModelUser> Update(ModelUser user) { OperationResult <ModelUser> res; try { var entity = DataContext .Users .Include(x => x.OrgMember) .ThenInclude(x => x.Org) .FirstOrDefault(x => x.Id == user.Id); if (null == entity) { return(OperationResult <ModelUser> .Create(ErrorCode.BadGetUser)); } entity.Update(user); DataContext.SaveChanges(); var model = entity .ToModel() .AddPreferences(DataContext) .AddVersion(DataContext.Entry(entity)); res = OperationResult <ModelUser> .Create(model); } catch (Exception e) { res = OperationResult <ModelUser> .Create(ErrorCode.BadUpdateUser, e); } return(res); }
/// <summary> /// /// </summary> /// <typeparam name="T"></typeparam> /// <param name="e"></param> public static T ForActiveUser <T>(this T r, ModelUser user) where T : Repository { r.DataContext.ActiveUser = user; return(r); }
/// <summary> /// /// </summary> /// <param name="team"></param> /// <returns></returns> public OperationResult <ModelUser> Create(ModelUser user) { OperationResult <ModelUser> res; try { var entity = user.ToEntity(); entity.OrgId = DataContext.ActiveOrgId; DataContext.Add(entity); DataContext.SaveChanges(); var model = entity.ToModel(); user.Id = entity.Id; user.OrgId = entity.OrgId; entity.OrgMember.Add(new OrgMember(entity.OrgId, entity.Id)); DataContext.SaveChanges(); res = OperationResult <ModelUser> .Create(model); } catch (Exception e) { res = OperationResult <ModelUser> .Create(ErrorCode.BadCreateUser, e); } return(res); }
public void Should_CreateUser_WhenEmptyInput() { var model = new ModelUser(); var res = _repo.Create(model); Assert.False(res.HasError); Assert.True(res.Value.Equals(model)); }