public WeekType(IWeekService weekService, IWeekUserLinkService weekUserLinkService, IUserService userService) { FieldAsync <DecimalGraphType>("costPerUser", "The amount owed per user", resolve: async context => await weekService.GetAmountToPayPerPersonAsync(context.Source.WeekId)); FieldAsync <ListGraphType <WeekUserLinkType> >("users", resolve: async context => await weekUserLinkService.GetByWeekIdAsync(context.Source.WeekId)); FieldAsync <UserType>("shopper", resolve: async context => context.Source.ShopperUserId.HasValue ? await userService.GetByIdAsync(context.Source.ShopperUserId.Value) : null); }
public UserType(IWeekService weekService, IWeekUserLinkService weekUserLinkService, IPaymentService paymentService) { FieldAsync <DecimalGraphType>("totalCost", "The sum of all week costs for weeks the user is signed up to", resolve: async context => await weekService.GetTotalCostsForUserAsync(context.Source.UserId)); FieldAsync <DecimalGraphType>("totalPaid", "The sum of amounts paid for all weeks", resolve: async context => await paymentService.GetTotalPaidForUser(context.Source.UserId)); FieldAsync <DecimalGraphType>("totalOwed", "The total amount owed by the user", resolve: async context => await paymentService.GetTotalOwedForUser(context.Source.UserId)); FieldAsync <ListGraphType <PaymentType> >("payments", "The users payments", resolve: async context => await paymentService.GetByUserIdAsync(context.Source.UserId)); FieldAsync <ListGraphType <WeekUserLinkType> >("weeks", "The users joined weeks", arguments: new QueryArguments( new QueryArgument <BooleanGraphType> { Name = "unpaidOnly", Description = "Include only unpaid weeks" } ), resolve: async context => { var unpaidOnly = context.GetArgument <bool?>("unpaidOnly"); if (unpaidOnly.HasValue && unpaidOnly.Value) { return(await weekUserLinkService.GetByUserIdAsync(context.Source.UserId, true)); } return(await weekUserLinkService.GetByUserIdAsync(context.Source.UserId)); }); }
public WeekUserLinkType(IWeekService weekService, IUserService userService) { FieldAsync <UserType>("user", "The user for the link", resolve: async context => await userService.GetByIdAsync(context.Source.UserId)); FieldAsync <WeekType>("week", "The week for the link", resolve: async context => await weekService.GetByIdAsync(context.Source.WeekId)); IsTypeOf = value => value is WeekUserLink; }
public DeliveryRequestHandler(IWeekService weekService, IGreenDeliveryDateService greenDeliveryDateService, IMapper mapper, ILogger <DeliveryRequestHandler> logger) { _weekService = weekService ?? throw new ArgumentNullException(nameof(weekService)); _greenDeliveryDateService = greenDeliveryDateService ?? throw new ArgumentNullException(nameof(greenDeliveryDateService)); _mapper = mapper ?? throw new ArgumentNullException(nameof(mapper)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); }
public WeeksViewModel(IWeekService weekService, IHourCodeProvider hourCodeProvider) { _weekService = weekService; _hourCodeProvider = hourCodeProvider; AddWeekCommand = new DelegateCommand(AddWeek); RemoveWeekCommand = new DelegateCommand(RemoveWeek); Weeks = new ObservableCollection <WeekViewModel>(); foreach (var week in _weekService.GetRecentWeeks()) { Weeks.Add(new WeekViewModel(_weekService, _hourCodeProvider, week)); } CurrentWeek = Weeks.FirstOrDefault(); }
public WeeksViewModel(IWeekService weekService, IHourCodeProvider hourCodeProvider) { _weekService = weekService; _hourCodeProvider = hourCodeProvider; AddWeekCommand = new DelegateCommand(AddWeek); RemoveWeekCommand = new DelegateCommand(RemoveWeek); Weeks = new ObservableCollection<WeekViewModel>(); foreach(var week in _weekService.GetRecentWeeks()) { Weeks.Add(new WeekViewModel(_weekService, _hourCodeProvider, week)); } CurrentWeek = Weeks.FirstOrDefault(); }
public WeekViewModel(IWeekService weekService, IHourCodeProvider hourCodeProvider, Week week) { _weekService = weekService; Week = week; _hourCodeProvider = hourCodeProvider; Usages = new ObservableCollection<HourUsageViewModel>(); foreach (var hourUsage in Week.Usages) { Usages.Add(new HourUsageViewModel(_hourCodeProvider, this, hourUsage)); } SaveWeekCommand = new DelegateCommand(SaveWeek); AddUsageCommand = new DelegateCommand(AddUsage); }
public WeekViewModel(IWeekService weekService, IHourCodeProvider hourCodeProvider, Week week) { _weekService = weekService; Week = week; _hourCodeProvider = hourCodeProvider; Usages = new ObservableCollection <HourUsageViewModel>(); foreach (var hourUsage in Week.Usages) { Usages.Add(new HourUsageViewModel(_hourCodeProvider, this, hourUsage)); } SaveWeekCommand = new DelegateCommand(SaveWeek); AddUsageCommand = new DelegateCommand(AddUsage); }
public SandwichClubQuery(IScSession session, IUserService userService, IWeekService weekService, IWeekUserLinkService weekUserLinkService) { Name = "Query"; Field <StringGraphType>( "version", resolve: context => typeof(SandwichClubQuery).Assembly.GetName().Version.ToString()); FieldAsync <UserType>( "me", resolve: async context => { return(await userService.GetByIdAsync((session.CurrentUser?.UserId).Value)); } ); FieldAsync <UserType>( "primaryShopper", resolve: async context => { return(await userService.GetPrimaryShopperAsync()); } ); FieldAsync <ListGraphType <UserType> >( "users", resolve: async context => await userService.GetAsync() ); FieldAsync <UserType>( "user", arguments: new QueryArguments( new QueryArgument <IntGraphType> { Name = "userId", Description = "UserId of the user" }, new QueryArgument <StringGraphType> { Name = "facebookId", Description = "FacebookId of the user" } ), resolve: async context => { var userId = context.GetArgument <int?>("userId"); if (userId != null) { return(await userService.GetByIdAsync(userId.Value)); } var socialId = context.GetArgument <string>("facebookId"); if (socialId != null) { return(await userService.GetBySocialId(socialId)); } return(null); } ); FieldAsync <WeekType>( "thisweek", resolve: async context => await weekService.GetCurrentWeekAsync() ); FieldAsync <ListGraphType <WeekType> >( "weeks", resolve: async context => await weekService.GetAsync() ); FieldAsync <WeekType>( "week", arguments: new QueryArguments( new QueryArgument <IntGraphType> { Name = "weekId", Description = "WeekId of the user" } ), resolve: async context => { var weekId = context.GetArgument <int?>("weekId"); if (weekId != null) { return(await weekService.GetByIdAsync(weekId.Value)); } return(null); } ); FieldAsync <WeekUserLinkType>( "weekLink", arguments: new QueryArguments( new QueryArgument <IntGraphType> { Name = "weekId", Description = "WeekId of the user" } ), resolve: async context => { var weekId = context.GetArgument <int>("weekId"); return(await weekUserLinkService.GetByIdAsync(new WeekUserLinkId { WeekId = weekId, UserId = (session.CurrentUser?.UserId).Value })); } ); }
public WeekController(ILogger <WeekController> logger, IWeekService weekService) { _logger = logger; _weekService = weekService; }
public SandwichClubMutation(IScSession session, IUserService userService, IPaymentService paymentService, IWeekService weekService) { Name = "Mutation"; FieldAsync <WeekType>( "subscribeToWeek", arguments: new QueryArguments( new QueryArgument <IntGraphType> { Name = "userId", Description = "UserId of the user" }, new QueryArgument <IntGraphType> { Name = "weekId", Description = "WeekId of the week" }, new QueryArgument <IntGraphType> { Name = "slices", Description = "WeekId of the week" } ), resolve: async context => { var userId = context.GetArgument <int>("userId"); var weekId = context.GetArgument <int>("weekId"); var slices = context.GetArgument <int>("slices"); return(await weekService.SubscibeToWeek(weekId, userId, slices)); } ); FieldAsync <PaymentType>( "markAllWeeksPaidForUser", arguments: new QueryArguments( new QueryArgument <IntGraphType> { Name = "userId", Description = "UserId to mark weeks paid for" } ), resolve: async context => { var userId = context.GetArgument <int>("userId"); return(await paymentService.PayOwedForUser(userId)); } ); FieldAsync <WeekType>( "updateWeek", arguments: new QueryArguments( new QueryArgument <IntGraphType> { Name = "weekId", Description = "WeekId of the week" }, new QueryArgument <IntGraphType> { Name = "shopperId", Description = "UserId of the shopper" }, new QueryArgument <FloatGraphType> { Name = "cost", Description = "cost of the week" } ), resolve: async context => { var shopperId = context.GetArgument <int?>("shopperId"); var weekId = context.GetArgument <int>("weekId"); var cost = context.GetArgument <double?>("cost"); return(await weekService.SaveAsync(new Week { WeekId = weekId, ShopperUserId = shopperId, Cost = cost ?? 0, })); } ); Field <UserType>( "updateMe", arguments: new QueryArguments( new QueryArgument <StringGraphType> { Name = "bankName", Description = "The name of the users week bank" }, new QueryArgument <StringGraphType> { Name = "bankDetails", Description = "Details for making payments" }, new QueryArgument <BooleanGraphType> { Name = "shopper", Description = "Set as shopper" } ), resolve: (context) => { var user = session.CurrentUser; var bankName = context.GetArgument <string>("bankName"); var bankDetails = context.GetArgument <string>("bankDetails"); var shopper = context.GetArgument <bool?>("shopper"); if (bankName != null) { user.BankName = bankName; } if (bankDetails != null) { user.BankDetails = bankDetails; } if (shopper != null) { user.Shopper = shopper.Value; } return(userService.SaveAsync(user)); } ); }
public WorkingDaysTask(IWeekService weekService) { _weekService = weekService; }
public PaymentService(IPaymentRepository repo, ILogger <BaseService <int, Payment, IPaymentRepository> > logger, IWeekService weekService) : base(repo, logger) { _weekService = weekService; }
public WeekController(IWeekService weekService) { this.weekService = weekService; }
public WeeksController(IWeekService weekService) { _weekService = weekService; }