private void EnsureSubwebbitDetails(NewSubwebbitViewModel subwebbit) { if (!new SubwebbitValidator().IsValid(subwebbit)) { throw new InvalidModelDetailsException(); } }
public async Task <ObjectId> Create(NewSubwebbitViewModel subwebbit) { EnsureSubwebbitDetails(subwebbit); await EnsureNameNotTaken(subwebbit.Name); var newSubwebbit = new Subwebbit(subwebbit.OwnerId, subwebbit.Name); await Collection.InsertOneAsync(newSubwebbit); return(newSubwebbit.Id); }
public bool IsValid(NewSubwebbitViewModel subwebbit) { return(!string.IsNullOrWhiteSpace(subwebbit.OwnerId) && new StringValidator().IsLengthBetween(subwebbit.Name, 1, 30)); }
public async Task <IHttpActionResult> Create(NewSubwebbitViewModel subwebbit) { var id = await Logic.Create(subwebbit); return(Ok(id)); }