public override CustomerState Reducer(CustomerState state, SaveCustomerSuccessful action) { var prevOc = state.OpenCustomers.FirstOrDefault(oc => oc.Customer.CustomerId == action.Customer.CustomerId) ?? throw new Exception($"customer {action.Customer.CustomerId} is not opened");; var newOc = new OpenedCustomer() { Customer = action.Customer, Users = prevOc.Users, IsChanged = false }; state.OpenCustomers.Remove(prevOc); state.OpenCustomers.Add(newOc); return state; }
public override CustomerState Reducer(CustomerState state, UpdateCustomer action) { var prevOc = state.OpenCustomers.FirstOrDefault(oc => oc.Customer.CustomerId == action.Customer.CustomerId) ?? throw new Exception($"customer {action.Customer.CustomerId} is not opened"); var newOc = new OpenedCustomer() { Customer = new Customer() { CustomerId = action.Customer.CustomerId, Address = action.Customer.Address, City = action.Customer.City, CompanyName = action.Customer.CompanyName, ContactName = action.Customer.ContactName }, Users = prevOc.Users, IsChanged = true }; state.OpenCustomers.Remove(prevOc); state.OpenCustomers.Add(newOc); return(state); }