Пример #1
0
        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;
        }
Пример #2
0
        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);
        }