ShareFactoryNewShareToUser Method (IContext, String, Int32, IUser, NullableInt32, NullableGuid) |
Namespace: AskiaPortalCmn
public static IShare NewShareToUser( IContext context, string objectType, int objectId, IUser user, Nullable<int> surveyId = null, Nullable<Guid> moduleGuid = null )
Create a new share for the current module `template` object and save it
var context = ContextFactory.CreateByUserGuid(Guid.Parse("20BE5F84-F006-49A0-9674-4B16A090AF2D")); var contextValidation = context.Validate(); if (!contextValidation.Success) { throw contextValidation.Exception; } // Sharing information int templateId = 12; IUser targetUser = UserFactory.FindById(context, 3); if (targetUser == null) { Console.Error.WriteLine("Could not find the specified user"); return; } var share = ShareFactory.NewShareToUser(context, "template", templateId, targetUser); if (share == null) { Console.Error.WriteLine("Could not create this share"); return; } share.Permission = AccessLevel.ReadOnly; share.CanReshare = false; var saveResult = share.Save(); if (saveResult.Success) { Console.WriteLine("The share (Id={0}) was successfully saved", share.Id); } else { Console.Error.Write(saveResult.Exception.Message); }