/// <summary> /// /// </summary> /// <param name="team"></param> /// <returns></returns> public OperationResult <ModelFolder> Create(ModelFolder f) { OperationResult <ModelFolder> res; try { var entity = f .ToEntity() .IncludeActiveOrgId(DataContext); DataContext.Add(entity); DataContext.SaveChanges(); var model = entity .UpdateId(f) .ToModel() .AddTime(DataContext.Entry(entity)) .AddVersion(DataContext.Entry(entity)); f.Uid = entity.Uid; res = OperationResult <ModelFolder> .Create(model); } catch (Exception e) { res = OperationResult <ModelFolder> .Create(ErrorCode.BadCreateFolder, e); } return(res); }
/// <summary> /// /// </summary> /// <returns></returns> public static ModelFolderPermissions GetDefault(ModelFolder f) { var list = new ModelFolderPermissions(); var editor = new ModelFolderPermission() { Folder = f, Role = Security.Role.Editor, Permission = Security.Permission.Edit, }; var viewer = new ModelFolderPermission() { Folder = f, Role = Security.Role.Viewer, Permission = Security.Permission.View }; editor.Bag.Created = editor.Bag.Updated = viewer.Bag.Created = viewer.Bag.Updated = DateTime.Now; list.Add(editor); list.Add(viewer); return(list); }
public void Should_CreateFolder_WhenEmptyInput() { var model = new ModelFolder(); var res = _repo.Create(model); Assert.False(res.HasError); Assert.True(res.Value.Equals(model)); }
/// <summary> /// /// </summary> /// <param name="f"></param> public void Update(ModelFolder f) { Title = f.Title; if (!string.IsNullOrEmpty(f.Uid)) { Uid = f.Uid; } }
/// <summary> /// /// </summary> /// <param name="team"></param> /// <returns></returns> public OperationResult <ModelFolder> Update(string uid, ModelFolder f) { OperationResult <ModelFolder> res; try { var entity = DataContext .Folders .ForActiveOrg() .FirstOrDefault(x => x.Uid == uid); if (null == entity) { return(OperationResult <ModelFolder> .Create(ErrorCode.BadGetFolder)); } entity.Update(f); if (ExpandoHelper.GetProperty <bool>(f, "Overwrite")) { var v = f.Bag.Version; var currentVersion = ( int )DataContext .Entry(entity) .Property(DataContext.COL_VERSION) .CurrentValue; if (currentVersion != v) { return(OperationResult <ModelFolder> .Create(ErrorCode.BadUpdateFolderVersionMismatch)); } } DataContext.Update(entity); DataContext.SaveChanges(); var model = entity .UpdateId(f) .ToModel() .AddTime(DataContext.Entry(entity)) .AddVersion(DataContext.Entry(entity)); res = OperationResult <ModelFolder> .Create(model); } catch (Exception e) { res = OperationResult <ModelFolder> .Create(ErrorCode.BadUpdateFolder, e); } return(res); }
/// <summary> /// /// </summary> /// <returns></returns> public ModelFolder ToModel(string uid = null) { var f = new ModelFolder() { Title = Title, Uid = Uid, }; f.Bag.Version = Version; f.Bag.Overwrite = Overwrite; return(f); }
/// <summary> /// /// </summary> /// <param name="ds"></param> /// <returns></returns> public static EntityFolder ToEntity(this ModelFolder f) { var e = new EntityFolder() { Id = f.Id, OrgId = f.OrgId, Title = f.Title, Uid = f.Uid }; if (string.IsNullOrEmpty(e.Uid)) { e.Uid = TestFactory.GetUid(); } return(e); }
/// <summary> /// /// </summary> /// <param name="f"></param> /// <returns></returns> private object ToGetSingleFolderReply(ModelFolder f) { return(new { f.Id, f.Uid, f.Title, f.OrgId, f.Url, f.HasAcl, DataContext.Acl?.CanAdmin, DataContext.Acl?.CanEdit, f.Bag.Created, f.Bag.Updated, f.Bag.Version }); }