Ejemplo n.º 1
0
        public async Task <string> CreateNewOrganizationAsync(Organization organization)
        {
            var head = await Organizations.Find(x => x.IsHead)
                       .FirstOrDefaultAsync();

            if (organization.IsHead && head != null)
            {
                throw new Exception("INFRASTRUCTURE Can't create new Head Organization");
            }

            var id = ObjectId.GenerateNewId();

            // TODO move to extension method to static class w\ extensions

            var document = new OrganizationDocument()
            {
                Id          = id,
                Title       = organization.Title,
                IsHead      = organization.IsHead,
                Members     = organization.Members,
                Address     = organization.Address,
                PhoneNumber = organization.PhoneNumber
            };

            await Organizations.InsertOneAsync(document);

            return(id.ToString());
        }
Ejemplo n.º 2
0
 public static Organization AsEntity(this OrganizationDocument doc)
 {
     return(new Organization()
     {
         Id = doc.Id.ToString(),
         Title = doc.Title,
         Address = doc.Address,
         PhoneNumber = doc.PhoneNumber,
         IsHead = doc.IsHead,
         Members = doc.Members
     });
 }