/// <summary> /// Add company with a system user /// </summary> /// <param name="name"></param> /// <param name="email"></param> public static void AddCompany(string name, string username, string email, string password) { if (name == null) { throw new ArgumentNullException("name"); } if (username == null) { throw new ArgumentNullException("username"); } if (email == null) { throw new ArgumentNullException("email"); } if (string.IsNullOrEmpty(name)) { throw new ArgumentException("name"); } if (string.IsNullOrEmpty(email)) { throw new ArgumentException("email"); } // Check for duplicated email string emailLow = email.ToLowerInvariant(); if (!Utils.IsValidEmail(email)) { throw new ArgumentException("email", "Invalid email address"); } // Check if there is any system users that has this email. var dupEmail = Db.SQL<Simplified.Ring3.EmailAddress>("SELECT o FROM Simplified.Ring3.EmailAddress o WHERE o.EMail=? AND o.ToWhat IS Simplified.Ring3.SystemUser", emailLow).First; if (dupEmail != null) { throw new ArgumentException("email", "Duplicated email"); } // Check for duplicated username var dupUserName = Db.SQL<Simplified.Ring3.SystemUser>("SELECT o FROM Simplified.Ring3.SystemUser o WHERE o.Username=?", username).First; if (dupUserName != null) { throw new ArgumentException("username", "Duplicated username"); } Organization company = new Organization() { Name = name }; Simplified.Ring3.SystemUser systemUser = new Simplified.Ring3.SystemUser(); systemUser.WhatIs = company; systemUser.Username = username; SetPassword(systemUser, password); //// Add ability to also sign in with email //EmailAddress emailRel = new EmailAddress(); //emailRel.SetToWhat(systemUser); //emailRel.EMail = emailLow; //emailRel = new EMailAddress(); //emailRel.SetToWhat(company); //emailRel.EMail = emailLow; company.ImageURL = Utils.GetGravatarUrl(emailLow); }
public Person GetDefaultPerson(Organization Organization) { OrganizationPerson op = this.SelectOrganizationPersons(Organization).First; if (op != null) { return op.Person; } return null; }
public void Delete(Organization Organization) { ContactInfoProvider provider = new ContactInfoProvider(); foreach (AddressRelation item in provider.SelectAddressRelations(Organization)) { item.Address.Delete(); item.Delete(); } foreach (EmailAddressRelation item in provider.SelectEmailAddressRelations(Organization)) { item.EmailAddress.Delete(); item.Delete(); } foreach (PhoneNumberRelation item in provider.SelectPhoneNumberRelations(Organization)) { item.PhoneNumber.Delete(); item.Delete(); } Organization.Delete(); }
public PhoneNumber GetDefaultPhoneNumber(Organization Organization) { return Db.SQL<PhoneNumber>("SELECT r.PhoneNumber FROM Simplified.Ring3.PhoneNumberRelation r WHERE r.Somebody = ?", Organization).First; }
public EmailAddress GetDefaultEmailAddress(Organization Organization) { return Db.SQL<EmailAddress>("SELECT r.EmailAddress FROM Simplified.Ring3.EmailAddressRelation r WHERE r.Somebody = ?", Organization).First; }
public QueryResultRows<OrganizationPerson> SelectOrganizationPersons(Organization Organization) { return Db.SQL<OrganizationPerson>("SELECT op FROM Simplified.Ring2.OrganizationPerson op WHERE op.Organization = ?", Organization); }