Пример #1
0
        public async Task <UpdateMarketerSalaryPaymentCommandResponse> Handle(UpdateMarketerSalaryPaymentCommand command)
        {
            var marketerSalaryPayment = await _repository.AsQuery().SingleOrDefaultAsync(p => p.Id == command.Id);

            if (marketerSalaryPayment == null)
            {
                throw new DomainException("پرداخت بازاریاب یافت نشد");
            }
            var marketer = _marketeRepository.AsQuery().SingleOrDefault(p => p.Id == command.MarketerId);

            if (marketer == null)
            {
                throw new DomainException("بازاریاب یافت نشد");
            }
            marketerSalaryPayment.Marketer = marketer;
            marketerSalaryPayment.Amount   = command.Amount;
            var userInfo = new UserInfo(command.UserInfoCommand.UserId, command.UserInfoCommand.FirstName,
                                        command.UserInfoCommand.LastName);

            marketerSalaryPayment.UserInfo = userInfo;
            var periodSalary = new PeriodSalary(command.PeriodSalaryCommand.FromDate, command.PeriodSalaryCommand.ToDate);

            marketerSalaryPayment.PeriodSalary = periodSalary;
            return(new UpdateMarketerSalaryPaymentCommandResponse());
        }
        public async Task <IHttpActionResult> Put(UpdateMarketerSalaryPaymentCommand command)
        {
            var userInfoCommand = new UserInfoCommandItem(UserId, FirstName, LastName);

            command.UserInfoCommand = userInfoCommand;
            var response =
                await Bus.Send <UpdateMarketerSalaryPaymentCommand, UpdateMarketerSalaryPaymentCommandResponse>(command);

            return(Ok(response));
        }