public async Task <IActionResult> CreateOrganization([FromBody] OrganizationCreateInput model) { if (!ModelState.IsValid) { var error = ModelState.Select(x => x.Value.Errors).First(y => y.Count > 0); return(BadRequest(error.First().ErrorMessage)); } var customer = await _customerService.GetPrincipal(UserId); var result = await _organizationService.CreateOrganization(customer, model); if (result.Succeeded) { var organizationCustomer = new OrganizationCustomer() { OrganizationId = result.OrganizationId.Value, CustomerId = UserId }; var linkResult = await _customerAccountService.LinkOrganizationCustomer(organizationCustomer); if (linkResult.Succeeded) { return(await GetOrganization(result.OrganizationId.Value)); } } else { ModelState.AddModelError(string.Empty, "Failed to create new organization"); } return(BadRequest()); }
public async Task <int> Create(OrganizationCreateInput input) { try { var entity = new t_OrganizationUnit() { Code = input.Code, ParentId = int.Parse(input.ParentId.ToString() == null ? "0" : input.ParentId.ToString()), TenantId = this.AbpSession.TenantId.HasValue ? this.AbpSession.TenantId.Value : 0, CreationTime = DateTime.Now, CreatorUserId = this.AbpSession.UserId.HasValue ? this.AbpSession.UserId.Value : 0, DisplayName = input.DisplayName, IsDeleted = false, OrganizationType = Enum.Parse <PublicEnum.OrganizationType>(input.OrganizationType.ToString()), //组织类型 DataBaseConnection = input.DataBaseConnection, //数据库连接 ERPOrganizationLeader = input.ERPOrganizationLeader == null ? 0 : input.ERPOrganizationLeader, //组织负责人 ERPOrganization = input.ERPOrganization == null ? 0 : input.ERPOrganization, Remark = input.Remark, FWorkshopType = input.FWorkshopType }; return(await JIT_t_OrganizationUnit.InsertAndGetIdAsync(entity)); } catch (Exception e) { Console.WriteLine(e.Message); } return(0); }
public async Task <t_OrganizationUnit> Update(OrganizationCreateInput input) { var entity = input.MapTo <t_OrganizationUnit>(); entity.Id = input.Id; entity.TenantId = this.AbpSession.TenantId.HasValue ? this.AbpSession.TenantId.Value : 0; entity.IsDeleted = false; entity.LastModificationTime = DateTime.Now; entity.LastModifierUserId = this.AbpSession.UserId.HasValue ? this.AbpSession.UserId.Value : 0; entity.CreationTime = input.CreationTime; entity.CreatorUserId = input.CreatorUserId; return(await JIT_t_OrganizationUnit.UpdateAsync(entity));; }
public async Task <IActionResult> New(OrganizationCreateInput model) { if (ModelState.IsValid) { var userId = _userManager.GetUserId(this.User); var customer = _customerService.GetPrincipal(Guid.Parse(userId)).Result; if (customer != null) { var result = await _service.CreateOrganization(customer, model); if (result.Succeeded) { var organizationCustomer = new OrganizationCustomer() { OrganizationId = result.OrganizationId.Value, CustomerId = Guid.Parse(userId) }; var linkResult = await _customerAccountService.LinkOrganizationCustomer(organizationCustomer); if (linkResult.Succeeded) { var nonce = Guid.NewGuid() .ToString() .Substring(0, 5); Redirect($"/connect/authorize/callback?client_id=angularClient&redirect_uri={_settings.Value.Urls.FlowRedirect}&response_type=id_token token&scope=openid+email+profile+re_api+ag_api+ao_api+ma_api+am_api+pm_api+co_api+cu_api+pe_api&nonce={nonce}"); } else { Redirect("/organization"); } } else { ModelState.AddModelError(string.Empty, "Failed to create new organization"); } } else { ModelState.AddModelError(string.Empty, "Failed to create new organization"); } } return(View()); }
public async Task <IActionResult> CreateAgency([FromRoute] string version, [FromBody] OrganizationCreateInput input) { var result = await _service.CreateOrganization(_customer, input); if (result.Succeeded) { var org = await _service.GetOrganization <CustomerOrganizationOutput>(result.OrganizationId.Value); return(Ok(org)); } foreach (var error in result.Errors) { ModelState.AddModelError("", error.Description); } return(Ok(result)); }
private async Task <OrganizationResult> CreateOrganization(OrganizationCreateInput input, Guid customerId) { _logger.LogInformation(GetLogMessage("Creating Organization: {0}"), input.Name); var organization = await Repository.Queryable() .Where(x => x.Name == input.Name) .FirstOrDefaultAsync(); var retVal = new OrganizationResult(); if (organization != null) { retVal.ErrorMessage = "Organization with the same name already in use"; return(retVal); } organization = new Organization { Iso2 = input.Iso2, ProvinceState = input.ProvinceState, CustomerId = customerId, CategoryId = 1, ObjectState = ObjectState.Added, ImageUrl = EntityConstants.DefaultOrgImageUrl, PrimaryColor = "grey-600", SecondaryColor = "grey-500", TertiaryColor = "grey-400", OrganizationType = OrganizationType.Buyer, PaymentTerms = new List <OrganizationPaymentTerm>() { new OrganizationPaymentTerm() { IsDefault = true, ObjectState = ObjectState.Added, PaymentTermId = 1 } } }.InjectFrom(input) as Organization; var organizationRecords = Repository.InsertOrUpdateGraph(organization, true); _logger.LogDebug(GetLogMessage("{0} Organization Records updated"), organizationRecords); if (organizationRecords > 0) { var person = _organizationPersonRepo.CreateOrgPerson(new OrganizationPersonInput() { PersonId = customerId, IsAccountManager = false, IsProjectManager = false, IsContractor = false, IsMarketer = false, IsRecruiter = false, IsCustomer = true, }, organization.Id); var result = Repository.Commit(); if (result <= 0) { return(OrganizationResult.Failed); } var records = await _buyerService.PushCustomer(person.OrganizationId, person.PersonId); _logger.LogDebug(GetLogMessage("{0} Records Updated"), records); if (records > 0) { retVal.Succeeded = true; retVal.OrganizationId = organization.Id; } } return(retVal); }
public Task <OrganizationResult> CreateOrganization(IOrganizationAccountManager am, OrganizationCreateInput input, Guid customerId) { return(CreateOrganization(input, customerId)); }
public Task <OrganizationResult> CreateOrganization(ICustomer cu, OrganizationCreateInput input) { return(CreateOrganization(input, cu.Id)); }
public Task <OrganizationResult> CreateOrganization(IAgencyOwner ao, OrganizationCreateInput input, Guid customerId) { return(CreateOrganization(input, customerId)); }
public async Task CreateAsync(OrganizationCreateInput input) { var organization = ObjectMapper.Map <OrganizationUnit>(input); await _organizationUnitManager.CreateAsync(organization); }