public async Task <ICommandResult> Handle(CartAddCommand mesage) { try { bool isLockSuccess = await _cartService.CreatingCart(mesage.ClientId); if (isLockSuccess) { var shard = await _shardingService.GetCurrentWriteShardByRoundRobin(ShardGroup); Cart cart = new Cart(mesage, shard.Id, mesage.Version); CartItem shoppingCartItem = new CartItem(mesage.CartItem); CartItemDetail shoppingCartItemDetail = new CartItemDetail(mesage.CartItemDetail); var newCartItems = cart.Add(shoppingCartItem, shoppingCartItemDetail, mesage.CartItem.Quantity, out var newCartItemDetail); await _cartService.Save(shard.ConnectionString, cart, newCartItems, newCartItemDetail); _eventSender.Add(cart.Events); await _eventSender.Notify(); ICommandResult result = new CommandResult() { Message = "", ObjectId = cart.Id, Status = CommandResult.StatusEnum.Sucess, }; return(result); } else { throw new MessageException(ResourceKey.Cart_IsCreating); } } catch (MessageException e) { e.Data["Param"] = mesage; ICommandResult result = new CommandResult() { Message = e.Message, Status = CommandResult.StatusEnum.Fail, ResourceName = e.ResourceName }; return(result); } catch (Exception e) { e.Data["Param"] = mesage; ICommandResult result = new CommandResult() { Message = e.Message, Status = CommandResult.StatusEnum.Fail }; return(result); } finally { await _cartService.CreatedCart(mesage.ClientId); } }
public async Task <ICommandResult> Handle(GiftCodeCampaignAddCommand mesage) { try { var shard = await _shardingService.GetCurrentWriteShardByRoundRobin(ShardGroup); GiftCodeCampaign campaign = new GiftCodeCampaign(); campaign.Add(mesage, shard.Id); int rowCount = await _giftcodeService.Add(shard.ConnectionString, campaign); if (rowCount <= 0) { throw new MessageException(ResourceKey.GiftCodeCampaign_AddFail); } await _eventSender.Notify(); ICommandResult result = new CommandResult() { Message = "", ObjectId = string.Empty, Status = CommandResult.StatusEnum.Sucess }; return(result); } catch (MessageException e) { e.Data["Param"] = mesage; ICommandResult result = new CommandResult() { Message = e.Message, Status = CommandResult.StatusEnum.Fail, ResourceName = e.ResourceName }; return(result); } catch (Exception e) { e.Data["Param"] = mesage; ICommandResult result = new CommandResult() { Message = e.Message, Status = CommandResult.StatusEnum.Fail }; return(result); } }
public async Task <ICommandResult> Handle(TemplateAddCommand message) { try { long systemIdentity = await _commonService.GetNextId(typeof(Template)); message.Code = Common.Common.GenerateCodeFromId(systemIdentity, 3); Template template = new Template(); template.Add(message); await _templateService.Add(template); await _eventSender.Notify(template.Events); ICommandResult result = new CommandResult() { Message = "", ObjectId = template.Id, Status = CommandResult.StatusEnum.Sucess }; return(result); } catch (Exception e) { e.Data["Param"] = message; ICommandResult result = new CommandResult() { Message = e.Message, Status = CommandResult.StatusEnum.Fail }; return(result); } }
public async Task <ICommandResult> Handle(BannerAddCommand mesage) { try { SystemDomains.Banner.Banner banner = new SystemDomains.Banner.Banner(); banner.Add(mesage); await _bannerService.AddBanner(banner); await _eventSender.Notify(banner.Events); ICommandResult result = new CommandResult() { Message = "", ObjectId = banner.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); } }
public async Task <ICommandResult> Handle(ActionDefineAddCommand mesage) { try { ActionDefine actionDefine = new ActionDefine(); actionDefine.Init(mesage); await _roleService.AddToDb(actionDefine); await _eventSender.Notify(actionDefine.Events); ICommandResult result = new CommandResult { Message = "", ObjectId = actionDefine.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); } }
public async Task <ICommandResult> Handle(ProductAttributeValueCommand mesage) { try { var item = new ProductAttributeValue(); item.Init(mesage); if (!string.IsNullOrEmpty(mesage.AttributeValueId)) { await _productAttributeValueService.UpdateToDb(item); await _eventSender.Notify(item.Events); } else { await _productAttributeValueService.AddToDb(item); await _eventSender.Notify(item.Events); } var result = new CommandResult { Message = "", ObjectId = item.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); } }