/// <summary>
 /// 编辑
 /// </summary>
 /// <param name="orgid"></param>
 /// <returns></returns>
 public ActionResult Update(OrganizationEntity entity)
 {
     try
     {
         if (entity.Flag == null)
         {
             entity.Flag = "0";
         }
         entity.UpdateDate = System.DateTime.Now;
         entity.UpdateUser = "******";
         DictCodeEntity selCode = new DictCodeEntity();
         selCode.CodeTypeId = "10006";
         selCode.CodeId     = entity.OrgType;
         selCode.OrgId      = "888";
         DictCodeEntity code = dictcodeLogic.Load(selCode);
         if (code != null)
         {
             entity.OrgTypeName = code.CodeName;
         }
         bool isOK = orgLogic.Update(entity);
         if (isOK == true)
         {
             return(Json("ok"));
         }
         else
         {
             return(Json("no"));
         }
     }
     catch (Exception ex)
     {
         return(Json("no"));
     }
 }
示例#2
0
        public void Invoke(object Sender, object Element)
        {
            if (Element is CommandParameters)
            {
                CommandParameters cp         = (CommandParameters)Element;
                PrimaryKeyId      key        = PrimaryKeyId.Parse(cp.CommandArguments["ObjectId"]);
                string            deleteType = cp.CommandArguments["DeleteType"];       // 0: org only; 1: org & contacts

                int           errorCount = 0;
                string        className  = OrganizationEntity.GetAssignedMetaClassName();
                DeleteRequest request    = new DeleteRequest(className, key);
                request.Parameters.Add(OrganizationRequestParameters.Delete_RelatedContactAction, (deleteType == "0") ? RelatedContactAction.Detach : RelatedContactAction.Delete);

                try
                {
                    BusinessManager.Execute(request);
                }
                catch (Exception ex)
                {
                    CHelper.GenerateErrorReport(ex);
                    errorCount++;
                }

                if (errorCount > 0)
                {
                    ((CommandManager)Sender).InfoMessage = CHelper.GetResFileString("{IbnFramework.Common:ActionWasNotProcessed}");
                }
                else
                {
                    ((Control)Sender).Page.Response.Redirect(CHelper.GetLinkEntityList(className));
                }
            }
        }
        public JsonResult Save(OrganizationEntity newObj)
        {
            JsonResult result = new JsonResult();

            try
            {
                DictCodeEntity selCode = new DictCodeEntity();
                selCode.CodeTypeId = "10006";
                selCode.CodeId     = newObj.OrgType;
                selCode.OrgId      = "admin";
                DictCodeEntity code = dictcodeLogic.Load(selCode);
                if (code != null)
                {
                    newObj.OrgTypeName = code.CodeName;
                }
                newObj.OrgId      = SetOrgCode(newObj.UpperId);
                newObj.CreateDate = DateTime.Now;
                newObj.UpdateDate = DateTime.Now;
                newObj.CreateUser = "******";
                newObj.Flag       = (newObj.Flag == null ? "0" : newObj.Flag);
                bool isOK = orgLogic.Save(newObj);
                if (isOK == true)
                {
                    return(Json("ok"));
                }
                else
                {
                    return(Json("no"));
                }
            }
            catch
            {
                return(Json("no"));
            }
        }
示例#4
0
        public static Boolean DeleteAMessageImpl(long messageId, int organizationId)
        {
            // Make sure customer owns the message, thus preventing customers from possibly
            // deleting other customers messages.
            OrganizationEntity organization = new OrganizationEntity(organizationId);

            foreach (LocationEntity location in organization.Locations)
            {
                DeviceCollection devices = new DeviceCollection();
                devices.GetMulti(new PredicateExpression(DeviceFields.LocationId == location.LocationId));
                foreach (DeviceEntity device in devices)
                {
                    DeviceMessageCollection deviceMessages = new DeviceMessageCollection();
                    PredicateExpression     filter         = new PredicateExpression {
                        DeviceMessageFields.DeviceId == device.DeviceId, DeviceMessageFields.MessageId == messageId
                    };
                    deviceMessages.GetMulti(filter);
                    if (deviceMessages.Count > 0)
                    {
                        DeviceMessageEntity deviceMessage = deviceMessages[0];
                        deviceMessage.DeliveryTime = DateTime.UtcNow;
                        deviceMessage.Save();
                        return(true);
                    }
                }
            }
            return(false);
        }
        public void Setup()
        {
            _repoManager = new RepositoryManagerStub();
            _repoManager.DependenciesContainer = new EntityDependenciesContainer(() => _repoManager);
            _repoManager.DependenciesContainer.AddOneToManyLink <UserEntity, OrganizationEntity>(x => x.OrganizationId, x => x.Organization);

            var firstOrg = new OrganizationEntity()
            {
                Id   = 1,
                Name = "NM"
            };

            _repoManager.SetDbEntities(firstOrg,
                                       new OrganizationEntity()
            {
                Id   = 2,
                Name = "NM2",
                Inn  = "Inn"
            }
                                       );
            _repoManager.SetDbEntities(new UserEntity()
            {
                Id             = 3,
                OrganizationId = 1,
                LastName       = "LastName"
            });
        }
示例#6
0
 private void SetOrganization(OrganizationEntity oe)
 {
     oe.CmstID         = int.Parse(this.txtcode.Text.Trim());
     oe.CmstName       = this.txtName.Text;
     oe.CmstIfUse      = this.cbIfUse.Checked;
     oe.CmstSysAccount = this.txtSysAccount.Text;
 }
        public ActionResult Add(string serialnum)
        {
            string             userid    = HttpContext.ApplicationInstance.Context.Request.Cookies["UserId"].Value;
            string             strOrgId  = HttpContext.ApplicationInstance.Context.Request.Cookies["OrgId"].Value;
            OrganizationEntity orgentity = orgLogic.Load(strOrgId);
            string             orgTitle  = orgentity.OrgName + "(缴费)收据";

            //OldPersonVisitListCollect person = oldLogic.GetOldPersonVisitCollect(serialnum);
            //if (person != null)
            //{
            //    ViewBag.SerialNum = person.SerialNum;

            //    ViewBag.PatiID = person.PatiID;
            //    string sexname = person.SexName;
            //    ViewBag.PatiName = "[姓名]-" + person.PatiName + "---[性别]-" + sexname + "---[年龄]-" + person.Age;
            //    ViewBag.Address = person.Address;
            //    //Fin_Invoice_StoreEntity voiceEntity = finInvoice.Load("");
            //    ViewBag.InVoiceNo = userid + "-" + DateTime.Now.ToString("yyMMddHHmmss");
            //    ViewBag.orgTitle = strOrgId;
            //    ViewBag.UserId = userid;
            //    ViewBag.orgTitle = orgTitle;
            //    return View(ViewBag);
            //}
            //else
            //{
            //    Response.Write("错误,请联系管理员");
            //    Response.End();
            //}
            return(View());
        }
示例#8
0
        public ActionResult Edit(int?organizationId)
        {
            OrganizationEntity organization;

            var user = Membership.GetUser().GetUserEntity();

            if (!organizationId.HasValue)
            {
                // When adding new organization, default to "active".
                organization = RoleUtils.IsUserServiceAdmin() ? new OrganizationEntity {
                    IsActive = true
                }
            }
            : user.Organization;
            else
            {
                organization = new OrganizationEntity(organizationId.Value);
                if (organization.IsNew)
                {
                    throw new HttpException(404, Error.NotFound_Organization);
                }

                if (!Permissions.UserHasPermission("Edit", organization))
                {
                    throw new HttpException(401, Error.Unauthorized_Organization);
                }
            }

            return((Request.IsAjaxRequest() || ControllerContext.IsChildAction)
                                                   ? (ActionResult)PartialView(organization)
                                                   : View(organization));
        }
示例#9
0
        private void BindDictionaries()
        {
            lbCategory.DataSource     = Document.GetListCategoriesAll();
            lbCategory.DataTextField  = "CategoryName";
            lbCategory.DataValueField = "CategoryId";
            lbCategory.DataBind();

            // Priority
            ddlPriority.DataSource     = Document.GetListPriorities();
            ddlPriority.DataTextField  = "PriorityName";
            ddlPriority.DataValueField = "PriorityId";
            ddlPriority.DataBind();

            if (ProjectId > 0)
            {
                lblProject.Text = Project.GetProjectTitle(ProjectId);
            }

            if (DocumentId <= 0)
            {
                ListItem liPriority = ddlPriority.Items.FindByValue(PortalConfig.DocumentDefaultValuePriorityField);
                if (liPriority != null)
                {
                    liPriority.Selected = true;
                }

                ucTaskTime.Value = DateTime.MinValue.AddMinutes(int.Parse(PortalConfig.DocumentDefaultValueTaskTimeField));

                ArrayList list = Common.StringToArrayList(PortalConfig.DocumentDefaultValueGeneralCategoriesField);
                foreach (int i in list)
                {
                    CommonHelper.SafeMultipleSelect(lbCategory, i.ToString());
                }

                PrimaryKeyId org_id     = PrimaryKeyId.Empty;
                PrimaryKeyId contact_id = PrimaryKeyId.Empty;
                Common.GetDefaultClient(PortalConfig.DocumentDefaultValueClientField, out contact_id, out org_id);
                if (contact_id != PrimaryKeyId.Empty)
                {
                    ClientControl.ObjectType = ContactEntity.GetAssignedMetaClassName();
                    ClientControl.ObjectId   = contact_id;
                }
                else if (org_id != PrimaryKeyId.Empty)
                {
                    ClientControl.ObjectType = OrganizationEntity.GetAssignedMetaClassName();
                    ClientControl.ObjectId   = org_id;
                }

                rbFile.Checked = true;
                rbFile.Attributes.Add("onclick", "ShowFile()");
                rbHTML.Attributes.Add("onclick", "ShowHTML()");
                rbLink.Attributes.Add("onclick", "ShowLink()");
                rbFile.Text    = LocRM.GetString("File");
                rbHTML.Text    = LocRM.GetString("HTMLText");
                rbLink.Text    = LocRM.GetString("Link");
                rbHTML.Checked = false;
                rbLink.Checked = false;
                Page.ClientScript.RegisterStartupScript(this.GetType(), Guid.NewGuid().ToString(), "<script>window.setTimeout('ShowFile()', 200);</script>");
            }
        }
 public int Usp_UserOrg_Insert(UserOrgEntity entity)
 {
     using (AppBLL bll = new AppBLL())
     {
         bll.DbContext = bll.CreateDbContext(true);
         try
         {
             DataHelper.ExecuteNonQuery("Usp_User_Insert", entity.User);
             if (entity.User.I_Category == 105 && !string.IsNullOrEmpty(entity.Org.C_Name))
             {
                 /// 机构用户 190 审核未通过  185 审核通过
                 OrganizationEntity orgEntity = bll.GetDataItem <OrganizationEntity>("Usp_Org_ById", new { Id = entity.Org.Id });
                 if (orgEntity != null && orgEntity.I_Audited > 190 && entity.Org.I_Audited <= 190)
                 {
                     ///设置审核日期
                     entity.Org.D_Confirm = DateTime.Now;
                 }
                 if (orgEntity == null)
                 {
                     entity.Org.Id = entity.User.Id;
                 }
                 DataHelper.ExecuteNonQuery("Usp_Org_Insert", entity.Org);
                 WriteLog("用户及机构资料编辑", entity);
             }
             bll.DbContext.CommitTransaction();
             return(1);
         }
         catch (Exception ex)
         {
             return(-1);
         }
     }
 }
示例#11
0
        public async Task GetAsync_Id_ReturnsOrganization(
            OrganizationEntity organizationEntity,
            List <OrganizationEntity> list,
            Organization organization,
            Mock <IMapper <OrganizationMember, OrganizationMemberEntity> > mapMember,
            Mock <IMapper <Organization, OrganizationEntity> > entityMapper)
        {
            // Arrange
            list.Add(organizationEntity);
            var mapDomain = new Mock <IMapper <OrganizationEntity, Organization> >();

            mapDomain.Setup(x => x.Map(organizationEntity)).Returns(mapDomain.Object);
            mapDomain.Setup(x => x.ToOutFormat()).Returns(organization);
            var db      = new InMemoryDb <OrganizationDbContext>();
            var context = new OrganizationDbContext(db.GetOptions());
            var repo    = new ReadWriteOrganizationRepository(context, entityMapper.Object, mapDomain.Object, mapMember.Object);

            context.Organizations.AddRange(list);
            context.SaveChanges();

            // Act
            var Actual = await repo.GetAsync(organizationEntity.Id);

            // Arrange
            Actual.Should().BeOfType <Organization>();
        }
示例#12
0
        /// <summary>
        /// Gets the list of devices available to make purchases for.
        /// </summary>
        /// <param name="locationId"></param>
        /// <param name="organizationId"></param>
        /// <returns></returns>
        public IQueryable <DeviceEntity> GetDevices(int?locationId, int?organizationId)
        {
            if (!organizationId.HasValue)
            {
                if (!locationId.HasValue)
                {
                    // show default list of purchases
                    return(new LinqMetaData().Device.WithPermissions());
                }
                else
                {
                    var location = new LocationEntity(locationId.Value);
                    if (location.IsNew)
                    {
                        throw new HttpException(404, SharedRes.Error.NotFound_Location);
                    }

                    if (!Permissions.UserHasPermission("View", location))
                    {
                        throw new HttpException(401, SharedRes.Error.Unauthorized_Location);
                    }

                    return(new LinqMetaData().Device.Where(x => x.LocationId == locationId.Value));
                }
            }
            else
            {
                var organization = new OrganizationEntity(organizationId.Value);
                if (organization.IsNew)
                {
                    throw new HttpException(404, SharedRes.Error.NotFound_Organization);
                }

                if (!locationId.HasValue)
                {
                    if (!Permissions.UserHasPermission("View", organization))
                    {
                        throw new HttpException(401, SharedRes.Error.Unauthorized_Organization);
                    }

                    return(new LinqMetaData().Device.Where(x => x.Location.OrganizationId == organizationId.Value));
                }
                else
                {
                    // do the same thing as above but check if the location is assigned to the organization
                    var orgLocation = new LocationEntity(locationId.Value);
                    if (orgLocation.IsNew && orgLocation.OrganizationId == organizationId)
                    {
                        throw new HttpException(404, SharedRes.Error.NotFound_Location);
                    }

                    if (!Permissions.UserHasPermission("View", orgLocation))
                    {
                        throw new HttpException(401, SharedRes.Error.Unauthorized_Location);
                    }

                    return(new LinqMetaData().Device.Where(x => x.LocationId == locationId.Value));
                }
            }
        }
        public async Task <OrganizationEntity> UpdateOrganizationAsync(OrganizationEntity account)
        {
            //if (account.Id == Guid.Empty)
            //{
            //    throw new Exception("Unable to update. Id not supplied.");
            //}

            //var existing = await this.GetOrganizationAccountAsync(account.Id);
            //if (existing == null)
            //{
            //    throw new Exception("Unable to update. Existing account not found.");
            //}

            //existing.UpdatedUtc = DateTime.UtcNow;

            //existing.ParentOrganization = account.ParentOrganization ?? existing.ParentOrganization;
            //existing.Name = account.Name ?? existing.Name;
            //existing.Phones = account.Phones ?? existing.Phones;
            //existing.Addresses = account.Addresses ?? existing.Addresses;
            //existing.Status = account.Status ?? existing.Status;
            //existing.RefLink = account.RefLink ?? existing.RefLink;
            //existing.Industries = account.Industries ?? existing.Industries;
            //existing.Website = account.Website ?? existing.Website;

            //var response = this.context.Organizations.Update(existing);
            //await this.context.SaveChangesAsync();

            //return response.Entity;
            throw new ArgumentNullException();
        }
示例#14
0
        /// <summary>
        /// 描述:递归获取组织架构树
        /// 创建标识:cpf
        /// 创建时间:2017-9-20 10:56:01
        /// </summary>
        /// <param name="organization">组织架构树</param>
        /// <param name="userlist">所有的有效用户</param>
        /// <param name="departList">所有的部门</param>
        /// <param name="parentId">上级部门Id</param>
        /// <returns></returns>
        private static OrganizationEntity GetOrganizationTree(OrganizationEntity organization, List <User> userlist, List <Department> departList, long parentId)
        {
            var departmentinterim = departList.Where(x => x.BDParentId == parentId & x.BDIsValid == EnabledEnum.Enabled.GetHashCode()).ToList();

            if (departmentinterim.Any())
            {
                foreach (var item in departmentinterim)
                {
                    var userCount             = userlist.Where(x => x.BUDepartId == item.Id).ToList().Count;
                    var temOrganizationEntity = new OrganizationEntity
                    {
                        DepartmentId      = EncryptHelper.DesEncrypt(item.Id.ToString()),
                        ParentId          = EncryptHelper.DesEncrypt(parentId.ToString()),
                        DepartmentName    = item.BDDeptName,
                        DepartmentUserNum = userCount,
                        DepartmentIsValid = (byte)item.BDIsValid
                    };
                    if (organization.DepartmentChildList == null)
                    {
                        organization.DepartmentChildList = new List <OrganizationEntity>();
                    }
                    organization.DepartmentChildList.Add(temOrganizationEntity);
                    GetOrganizationTree(temOrganizationEntity, userlist, departList, item.Id);
                }
            }
            return(organization);
        }
示例#15
0
        public HrmResultEntity <OrganizationEntity> SaveMergerOrganization(OrganizationEntity data, List <ListDataSelectedIdType> listData, BasicParamType param, string dbName)
        {
            var par = new DynamicParameters();

            par.Add("@BaseParam", param.ToUserDefinedDataTable(), DbType.Object);
            par.Add("@ListData", listData.ConvertToUserDefinedDataTable(), DbType.Object);
            par.Add("@ToOrganizationaID", data.Id);
            par.Add("@DecisionNo", data.DecisionNo);
            par.Add("@WorkingStatus", MasterDataId.WorkingStatusActive);
            par.Add("@DecisionDate", data.DecisionDate);
            par.Add("@StartDate", data.StartDate);
            par.Add("@EndDate", data.EndDate);
            par.Add("@Note", data.Note);
            par.Add("@OrganizationName", data.OrganizationName);
            par.Add("@OrganizationCode", data.OrganizationCode);
            par.Add("@OrderNo", data.OrderNo);
            par.Add("@ParentId", data.ParentId);
            par.Add("@Status", data.Status);
            par.Add("@OrganizationType", data.OrganizationType);
            par.Add("@Email", data.Email);
            par.Add("@Phone", data.Phone);
            par.Add("@Branch", data.Branch);
            par.Add("@CurrencyTypeId", data.CurrencyTypeId);
            par.Add("@DbName", dbName);
            return(ListProcedure <OrganizationEntity>("Organization_Update_Merger", par));
        }
示例#16
0
        public void OrganizationEntitiesHaveACreatedAt()
        {
            var entity = new OrganizationEntity();
            var date   = new DateTime(2019, 02, 21);

            entity.CreatedAt = date;
            entity.CreatedAt.Should().BeSameDateAs(date);
        }
示例#17
0
        public void OrganizationEntitiesHaveAName()
        {
            var entity = new OrganizationEntity();
            var name   = "Test";

            entity.Name = name;
            entity.Name.Should().BeSameAs(name);
        }
 /// <summary>
 /// 编辑
 /// </summary>
 /// <param name="orgid"></param>
 /// <returns></returns>
 public ActionResult Edit(string orgid)
 {
     if (!string.IsNullOrEmpty(orgid))
     {
         OrganizationEntity entity = orgLogic.Load(orgid);
         return(View(entity));
     }
     return(View(new OrganizationEntity()));
 }
示例#19
0
        public static string GetGroupName(OrganizationEntity org, DeviceEntity device)
        {
            if (null == org || null == device)
            {
                return(null);
            }

            return($"org_{org.Id}_D_{device.Id}");
        }
示例#20
0
        public static string GetGroupName(OrganizationEntity org, IRoom room)
        {
            if (null == org || null == room)
            {
                return(null);
            }

            return($"org_{org.Id}_R_{room.Id}");
        }
示例#21
0
        public static string GetGroupName(OrganizationEntity org)
        {
            if (null == org)
            {
                return(null);
            }

            return($"org_{org.Id}");
        }
示例#22
0
        /// <summary>
        /// Returns the icon for an organization based on a few conditions.
        /// </summary>
        /// <param name="organization"></param>
        /// <returns></returns>
        private string GetOrganizationIcon(OrganizationEntity organization)
        {
            if(organization.Users.Any(x => x.LastLoginTime > DateTime.UtcNow.AddMilliseconds(-UpdateController.UPDATE_INTERVAL * 2)))
                // purple user activity
                return "http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|CC00CC|000000";

            // brown
            return "http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|996633|000000";
        }
示例#23
0
            public void BroadcastRefresh(OrganizationEntity org, DeviceEntity device = null)
            {
                var context   = _connectionManager.GetHubContext <UpdateHub>();
                var groupName = UpdateHub.GetGroupName(org, device) ?? UpdateHub.GetGroupName(org);

                log.DebugFormat("Broadcasting update to {0} for {1}", groupName, device?.Id);

                context.Clients.Group(groupName).RefreshAll();
            }
示例#24
0
            public void BroadcastDeviceChange(OrganizationEntity org, DeviceEntity device)
            {
                var context   = _connectionManager.GetHubContext <UpdateHub>();
                var groupName = UpdateHub.GetGroupName(org, device);

                log.DebugFormat("Broadcasting update to {0} for {1}", groupName, device.Id);

                context.Clients.Group(groupName).DeviceChanged(device.Id);
            }
示例#25
0
            public void BroadcastUpdate(OrganizationEntity org, IRoom room)
            {
                var context   = _connectionManager.GetHubContext <UpdateHub>();
                var groupName = UpdateHub.GetGroupName(org, room);

                log.DebugFormat("Broadcasting update to {0} for {1}", groupName, room.Id);

                context.Clients.Group(groupName).Update(room.Id);
            }
        public int OrgSubmitAudit(int Id)
        {
            OrganizationEntity orgEntity = DataHelper.GetDataItem <OrganizationEntity>("Usp_Org_ById", new { Id = Id });

            orgEntity.D_Submit  = DateTime.Now;
            orgEntity.I_Audited = 195;
            WriteLog("机构提交审核", orgEntity);
            return(DataHelper.ExecuteNonQuery("Usp_Org_Insert", orgEntity));
        }
 public ActionResult OrgGroup(string OrgId)
 {
     if (!string.IsNullOrEmpty(OrgId))
     {
         OrganizationEntity entity = new OrganizationEntity(); //角色模块实体
         return(View(entity));
     }
     return(View());
 }
示例#28
0
 /// <summary> setups the sync logic for member _organization</summary>
 /// <param name="relatedEntity">Instance to set as the related entity of type entityType</param>
 private void SetupSyncOrganization(IEntity2 relatedEntity)
 {
     if (_organization != relatedEntity)
     {
         DesetupSyncOrganization(true, true);
         _organization = (OrganizationEntity)relatedEntity;
         base.PerformSetupSyncRelatedEntity(_organization, new PropertyChangedEventHandler(OnOrganizationPropertyChanged), "Organization", BlockedDaysFranchiseeEntity.Relations.OrganizationEntityUsingOrganizationId, true, new string[] {  });
     }
 }
示例#29
0
        public JsonResult GetLocations(int organizationId)
        {
            OrganizationEntity organization = new OrganizationEntity(organizationId);
            List <Location>    locations    = organization.Locations.Select(location => new Location {
                Id = location.LocationId, Name = location.Name
            }).ToList();

            return(Json(locations, JsonRequestBehavior.AllowGet));
        }
示例#30
0
        private void UpdateOrgEntity(ref OrganizationEntity old_org, ref OrganizationEntity new_org)
        {
            old_org.OrgName        = new_org.OrgName;
            old_org.OrgDescription = new_org.OrgDescription;
            old_org.OrgImage       = new_org.OrgImage;
            old_org.OrgWebSite     = new_org.OrgWebSite;

            old_org.OwnerUID = new_org.OwnerUID;
        }
        /// <summary>
        /// Creates a new organization.
        /// </summary>
        /// <param name="name">The name of the organization.</param>
        /// <param name="friendlyName">the friendly name.</param>
        /// <param name="accountId">the account creating the organization who will be an admin.</param>
        public void CreateOrganization(
            DomainLabel name,
            string friendlyName,
            EmailAddress accountId)
        {
            if (!ValidateOrganizationName(name))
            {
                throw new ArgumentOutOfRangeException("name");
            }

            if (string.IsNullOrWhiteSpace(friendlyName))
            {
                throw new ArgumentOutOfRangeException("friendlyName");
            }

            if (accountId == null)
            {
                throw new ArgumentNullException("accountId");
            }

            CloudTable orgTable = this.GetOrganizationTable();
            CloudTable orgMemberTable = this.GetOrganizationMembershipTable();
            CloudTable accountMemberTable = this.GetAccountMembershipTable();
            OrganizationEntity existing = FindExistingOrganization(orgTable, name.ToString());
            if (existing != null)
            {
                throw new InvalidOperationException("Organization already exists.");
            }

            AccountMembershipEntity accountMember = new AccountMembershipEntity()
            {
                PartitionKey = accountId.ToString(),
                RowKey = name.ToString()
            };

            OrganizationMembershipEntity orgMember = new OrganizationMembershipEntity()
            {
                PartitionKey = name.ToString(),
                RowKey = accountId.ToString(),
                AllowAdmin = true,
                AllowWrite = true
            };

            OrganizationEntity org = new OrganizationEntity()
            {
                PartitionKey = name.ToString(),
                RowKey = string.Empty,
                FriendlyName = friendlyName,
                CreatedByAccountId = accountId.ToString(),
                CreatedTime = DateTime.UtcNow
            };

            org.LastModifiedByAccountId = org.CreatedByAccountId;
            org.LastModifiedTime = org.CreatedTime;

            TableOperation insertAccountMember = TableOperation.InsertOrReplace(accountMember);
            TableOperation insertOrgMember = TableOperation.InsertOrReplace(orgMember);
            TableOperation insertOrg = TableOperation.InsertOrReplace(org);
            accountMemberTable.Execute(insertAccountMember);
            orgMemberTable.Execute(insertOrgMember);
            orgTable.Execute(insertOrg);
        }