Beispiel #1
0
        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));
        }
Beispiel #6
0
        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);
        }
Beispiel #7
0
 public Task <OrganizationResult> CreateOrganization(IOrganizationAccountManager am, OrganizationCreateInput input, Guid customerId)
 {
     return(CreateOrganization(input, customerId));
 }
Beispiel #8
0
 public Task <OrganizationResult> CreateOrganization(ICustomer cu, OrganizationCreateInput input)
 {
     return(CreateOrganization(input, cu.Id));
 }
Beispiel #9
0
 public Task <OrganizationResult> CreateOrganization(IAgencyOwner ao, OrganizationCreateInput input, Guid customerId)
 {
     return(CreateOrganization(input, customerId));
 }
Beispiel #10
0
        public async Task CreateAsync(OrganizationCreateInput input)
        {
            var organization = ObjectMapper.Map <OrganizationUnit>(input);

            await _organizationUnitManager.CreateAsync(organization);
        }