public async Task <ICommandResult> Handle(VendorChangeCommand mesage) { try { Vendor vendor = new Vendor(mesage.Version); RVendor vendorFromDb = await _vendorService.GetFromDb(mesage.Id); string code = string.Empty; if (string.IsNullOrEmpty(vendorFromDb.Code)) { long systemIdentity = await _commonService.GetNextId(typeof(Vendor)); code = Common.Common.GenerateCodeFromId(systemIdentity, 3); } vendor.Change(mesage); await _vendorService.ChangeToDb(vendor, code); ICommandResult result = new CommandResult() { Message = "", ObjectId = vendor.Id, Status = CommandResult.StatusEnum.Sucess }; return(result); } catch (Exception e) { e.Data["Param"] = mesage; ICommandResult result = new CommandResult() { Message = e.Message, Status = CommandResult.StatusEnum.Fail }; return(result); } }