public Owner Split(Owner owner, int nom, int den) { int n = owner.Share.Numerator, d = owner.Share.Denominator; var n1 = n * nom; var d1 = d * den; var n2 = n * d1 - n1 * d; var d2 = d1 * d; (n1, d1) = Reduce(n1, d1); (n2, d2) = Reduce(n2, d2); owner.Share.Numerator = n2; owner.Share.Denominator = d2; var newOwner = new Owner { Share = new Share { Numerator = n1, Denominator = d1, } }; Owners.Add(newOwner); if (n2 == 0) { Owners.Remove(owner); } return(newOwner); }
public async void BtnRevert() { if (SelectedOwner != null && SelectedOwner.IsNew && Owners.Any()) { SelectedOwner.IsDirty = false; Owners.Remove(SelectedOwner); } else if (SelectedOwner != null && SelectedOwner.IsDirty && !SelectedOwner.IsNew) { await GetOwnerAndUpdateGridAsync(SelectedOwner, false); } }
public void RemoveOwner(ICustomer owner) { if (owner == null) { throw new ArgumentNullException("No owner specified"); } if (!Owners.Contains(owner)) { throw new ArgumentException("Owner not registered for bank account."); } owner.BankAccounts.Remove(this); Owners.Remove(owner); }
private async Task RestoreGridAsync(OwnerDataModel selectedDirtyOwner) { if (selectedDirtyOwner != null && selectedDirtyOwner.IsNew) { selectedDirtyOwner.IsDirty = false; Owners.Remove(selectedDirtyOwner); SelectedOwner = Owners.FirstOrDefault(); } else { await GetOwnerAndUpdateGridAsync(selectedDirtyOwner, false); } }
public async void BtnDelete() { if (SelectedOwner != null && SelectedOwner.IdOwner != null && SelectedOwner.IdOwner != Guid.Empty && !SelectedOwner.Standard) { bool shouldDeleteOwner = false; notificationManager.Confirm(Resources.ApplicationShortName, Environment.NewLine + Resources.DeleteOwnerQuestion, () => { shouldDeleteOwner = true; }, owner: GetView()); if (shouldDeleteOwner) { await DeleteOwnerAsync(); } } else if (SelectedOwner != null && SelectedOwner.IdOwner == Guid.Empty) { SelectedOwner.IsDirty = false; Owners.Remove(SelectedOwner); } }
public ICollection <Guid> CascadeRemoveShopOwner(Guid userGuid, Guid ownerToRemoveGuid) { var removedOwners = new HashSet <Guid>(); removedOwners.Add(ownerToRemoveGuid); foreach (var owner in Owners.ToList()) { if (owner.AppointerGuid.Equals(ownerToRemoveGuid)) { removedOwners.Add(owner.OwnerGuid); var cascadeRemovedOwners = CascadeRemoveShopOwner(ownerToRemoveGuid, owner.OwnerGuid); foreach (var cascRemovedOwner in cascadeRemovedOwners) { removedOwners.Add(cascRemovedOwner); } } } Owners.Remove(Owners.FirstOrDefault(o => o.OwnerGuid.Equals(ownerToRemoveGuid))); return(removedOwners); }
private async Task DeleteOwnerAsync() { bool isValid = false; if (SelectedOwner != null && SelectedOwner.IdOwner != null) { isValid = await ValidateDeletionOfOwnerAsync(); } if (isValid) { try { BusyIndicator.BlockUI(); var result = await requestManager.DeleteAsync($"{RoutingConstants.OwnerRoute}/{SelectedOwner.IdOwner}"); if (result != null && result.IsError) { notificationManager.Alert(result.ErrorMessage, result.IsFatalError); } else if (!result.IsError) { notificationManager.ToastAlert(string.Format(Resources.BankDeleted, SelectedOwner.OwnerCode)); var owner = Owners.FirstOrDefault(x => x.IdOwner == SelectedOwner.IdOwner); if (owner != null) { Owners.Remove(owner); } } } finally { BusyIndicator.UnblockUI(); } } }
public void RemoveOwner(IClient owner) { Owners.Remove(owner); }