public Task <UpdateMarketerCommandResponse> Handle(UpdateMarketerCommand command) { var marketer = _repository.AsQuery().SingleOrDefault(p => p.Id == command.Id); if (marketer == null) { throw new DomainException("بازاریاب یافت نشد"); } var countShopMarketer = _shopRepository.AsQuery().Count(p => p.MarketerId == command.Id); if (countShopMarketer > command.MaxMarketerAllowed) { throw new DomainException("تعداد فروشگاه این یازاریاب بیش از تعداد مجاز وارد شده می باشد"); } var marketerAddress = new MarketerAddress(command.MarketerAddress.AddressText, command.MarketerAddress.PhoneNumber, command.MarketerAddress.MobileNumber, command.MarketerAddress.RequiredPhoneNumber, command.MarketerAddress.CityId, command.MarketerAddress.CityName); var marketerSalary = new MarketerSalary(command.MarketerSalary.FixedSalary, command.MarketerSalary.InterestRates); var marketerReagent = new MarketerReagent(command.MarketerReagent.ReagentName, command.MarketerReagent.ReagentMobileNumber); marketer.MarketerAddress = marketerAddress; marketer.MarketerSalary = marketerSalary; marketer.MarketerReagent = marketerReagent; marketer.BarcodeId = command.BarcodeId; marketer.FatherName = command.FatherName; marketer.LastName = command.LastName; marketer.FirstName = command.FirstName; marketer.NationalCode = command.NationalCode; marketer.IdNumber = command.IdNumber; marketer.Gender = command.Gender; marketer.BirthDate = command.BirthDate; marketer.MaxMarketerAllowed = command.MaxMarketerAllowed; marketer.Documents = ""; marketer.Documents = string.Join(",", command.Documents); marketer.Image = command.Image; return(Task.FromResult(new UpdateMarketerCommandResponse())); }
public async Task <IHttpActionResult> Put(UpdateMarketerCommand command) { var response = await Bus.Send <UpdateMarketerCommand, UpdateMarketerCommandResponse>(command); return(Ok(response)); }