Exemple #1
0
        public async Task <EmployeeUnitDto> CreateEmployeeUnit(CreateEmployeeUnitInput input)
        {
            var employeeUnit = input.MapTo <EmployeeUnit>();
            await _employeeUnitManager.CreateAsync(employeeUnit);

            await CurrentUnitOfWork.SaveChangesAsync();


            if (input.Addresses != null)
            {
                foreach (var address in input.Addresses)
                {
                    if (!string.IsNullOrEmpty(address.Line1) || !string.IsNullOrEmpty(address.Line2) ||
                        !string.IsNullOrEmpty(address.Line4) || !string.IsNullOrEmpty(address.Line4) ||
                        !string.IsNullOrEmpty(address.State) || !string.IsNullOrEmpty(address.Country) ||
                        !string.IsNullOrEmpty(address.Email) || !string.IsNullOrEmpty(address.Phone1) ||
                        !string.IsNullOrEmpty(address.Website))
                    {
                        address.ObjectId = employeeUnit.Id;
                        await _addressAppService.CreateAddressUnit(address);

                        await CurrentUnitOfWork.SaveChangesAsync();
                    }
                }
            }
            return(employeeUnit.MapTo <EmployeeUnitDto>());
        }
Exemple #2
0
        public async Task <VendorUnitDto> CreateVendorUnit(CreateVendorUnitInput input)
        {
            var vendorUnit = input.MapTo <VendorUnit>();
            await _vendorUnitManager.CreateAsync(vendorUnit);

            await CurrentUnitOfWork.SaveChangesAsync();

            //address Information
            if (!ReferenceEquals(input.Addresses, null))
            {
                foreach (var address in input.Addresses)
                {
                    if (!string.IsNullOrEmpty(address.Line1) || !string.IsNullOrEmpty(address.Line2) ||
                        !string.IsNullOrEmpty(address.Line4) || !string.IsNullOrEmpty(address.Line4) ||
                        !string.IsNullOrEmpty(address.State) || !string.IsNullOrEmpty(address.Country) ||
                        !string.IsNullOrEmpty(address.Email) || !string.IsNullOrEmpty(address.Phone1) ||
                        !string.IsNullOrEmpty(address.ContactNumber))
                    {
                        address.TypeofObjectId = TypeofObject.VendorUnit;
                        address.ObjectId       = vendorUnit.Id;
                        await _addressAppService.CreateAddressUnit(address);
                    }
                    await CurrentUnitOfWork.SaveChangesAsync();
                }
            }

            //vendorAlias Information
            if (input.VendorAlias != null)
            {
                foreach (var vendorAlias in input.VendorAlias)
                {
                    if (!string.IsNullOrEmpty(vendorAlias.AliasName))
                    {
                        var vendorAliasUnit = vendorAlias.MapTo <VendorAliasUnit>();
                        vendorAliasUnit.VendorId = vendorUnit.Id;
                        await _vendorAliasUnitManager.CreateAsync(vendorAliasUnit);

                        await CurrentUnitOfWork.SaveChangesAsync();
                    }
                }
            }

            #region Example to show the usage of Event Bus as well Unit of Work Completion

            _unitOfWorkManager.Current.Completed += (sender, args) =>
            {
                /*Do Something when the Chart of Vendor is Added*/
            };

            EventBus.Register <EntityChangedEventData <VendorUnitDto> >(
                eventData =>
            {
                // http://www.aspnetboilerplate.com/Pages/Documents/EventBus-Domain-Events#DocTriggerEvents
                //Do something when Vendor is added
            });

            #endregion


            var VendorUnitDto = vendorUnit.MapTo <VendorUnitDto>();
            VendorUnitDto.VendorId = vendorUnit.Id;
            return(VendorUnitDto);
        }