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>()); }
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); }