public Contact Post(CreateContact request) { var contact = request.ConvertTo <Contact>(); Db.Save(contact); return(contact); }
public object Any(CreateContact request) { var newContact = request.ConvertTo <Data.Contact>(); newContact.Id = Interlocked.Increment(ref Counter); newContact.UserAuthId = this.GetUserId(); newContact.CreatedDate = newContact.ModifiedDate = DateTime.UtcNow; var contacts = Contacts.Values.ToList(); var alreadyExists = contacts.Any(x => x.UserAuthId == newContact.UserAuthId && x.Name == request.Name); if (alreadyExists) { throw new ArgumentException($"You already have a contact named '{request.Name}'", nameof(request.Name)); } Contacts[newContact.Id] = newContact; return(new CreateContactResponse { Result = newContact.ConvertTo <Contact>() }); }