public Marketer(Guid barcodeId, string firstName, string lastName, string nationalCode, string idNumber, Gender gender, string fatherName, DateTime birthDate, string description, int maxMarketerAllowed, IList <string> documents, string image, MarketerAddress marketerAddress, MarketerSalary marketerSalary, MarketerReagent marketerReagent, Guid userId) { BarcodeId = barcodeId; FirstName = firstName; LastName = lastName; NationalCode = nationalCode; IdNumber = idNumber; Gender = gender; FatherName = fatherName; BirthDate = birthDate; Description = description; MaxMarketerAllowed = maxMarketerAllowed; Image = image; Documents = string.Join(",", documents); MarketerAddress = marketerAddress; MarketerSalary = marketerSalary; MarketerReagent = marketerReagent; UserId = userId; CreationTime = DateTime.Now; IsActive = true; }
public Task <MarketerCommandResponse> Handle(CreateMarketerCommand command) { 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); var marketer = new Marketer(command.BarcodeId, command.FirstName, command.LastName, command.NationalCode, command.IdNumber, command.Gender, command.FatherName, command.BirthDate, command.Description, command.MaxMarketerAllowed, command.Documents, command.Image, marketerAddress, marketerSalary, marketerReagent, command.UserId) { Comments = new List <MarketerComment>() }; _repository.Add(marketer); return(Task.FromResult(new MarketerCommandResponse())); }
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())); }