public async Task <IActionResult> Get([FromQuery] PagingRequestModel model) { var accountMicroService = new AccountMicroService(_AppConfig.APIGatewayServer); var nationalUrbanMicroService = new NationalUrbanMicroService(_AppConfig.APIGatewayServer); var toDTO = new Func <WorkFlow, Task <WorkFlowDTO> >(async(entity) => { var dto = new WorkFlowDTO(); dto.Id = entity.Id; dto.Name = entity.Name; dto.Description = entity.Description; dto.Creator = entity.Creator; dto.Modifier = entity.Modifier; dto.CreatedTime = entity.CreatedTime; dto.ModifiedTime = entity.ModifiedTime; await accountMicroService.GetNameByIds(entity.Creator, entity.Modifier, (creatorName, modifierName) => { dto.CreatorName = creatorName; dto.ModifierName = modifierName; }); return(await Task.FromResult(dto)); }); return(await _PagingRequest(model, toDTO)); }
public override async Task <IActionResult> Get(string id) { var accountMicroService = new AccountMicroService(_AppConfig.APIGatewayServer); var nationalUrbanMicroService = new NationalUrbanMicroService(_AppConfig.APIGatewayServer); var toDTO = new Func <WorkFlowRule, Task <WorkFlowRuleDTO> >(async(entity) => { var dto = new WorkFlowRuleDTO(); dto.Id = entity.Id; dto.Name = entity.Name; dto.Description = entity.Description; dto.Creator = entity.Creator; dto.Modifier = entity.Modifier; dto.CreatedTime = entity.CreatedTime; dto.ModifiedTime = entity.ModifiedTime; var refWorFlow = await _Context.WorkFlowRuleDetails.FirstOrDefaultAsync(x => x.OrganizationId == CurrentAccountOrganizationId && x.WorkFlowRuleId == entity.Id); if (refWorFlow != null) { dto.WorkFlowId = refWorFlow.WorkFlowId; } await accountMicroService.GetNameByIds(entity.Creator, entity.Modifier, (creatorName, modifierName) => { dto.CreatorName = creatorName; dto.ModifierName = modifierName; }); return(await Task.FromResult(dto)); }); return(await _GetByIdRequest(id, toDTO)); }
public async Task <IActionResult> Post([FromBody] MemberRegistryCreateModel model) { var accountMicroService = new AccountMicroService(_AppConfig.APIGatewayServer); var inviteUser = await accountMicroService.GetById(model.Inviter); if (inviteUser == null) { ModelState.AddModelError("Inviter", $"邀请人{model.Inviter}记录不存在"); return(new ValidationFailedResult(ModelState)); } var refMember = await _Context.MemberRegistries.FirstOrDefaultAsync(x => x.Mail == model.Mail.Trim() && x.OrganizationId == inviteUser.OrganizationId); var mapping = new Func <MemberRegistry, Task <MemberRegistry> >(async(entity) => { entity.Name = model.Name; entity.Description = model.Remark; entity.ActiveFlag = AppConst.Active; entity.Phone = model.Phone; entity.Mail = model.Mail; entity.Company = model.Company; entity.Province = model.Province; entity.City = model.City; entity.County = model.County; entity.BusinessCard = model.BusinessCard; entity.Inviter = model.Inviter; entity.Creator = model.Inviter; entity.Modifier = model.Inviter; entity.OrganizationId = inviteUser.OrganizationId; return(await Task.FromResult(entity)); }); return(await _PostRequest(refMember, mapping)); }
public override async Task <IActionResult> Get(string id) { var accountMicroService = new AccountMicroService(_AppConfig.APIGatewayServer); var toDTO = new Func <MemberHierarchyParam, Task <MemberHierarchyParamDTO> >(async(entity) => { var dto = new MemberHierarchyParamDTO(); dto.Id = entity.Id; dto.Name = entity.Name; dto.Description = entity.Description; dto.Creator = entity.Creator; dto.Modifier = entity.Modifier; dto.CreatedTime = entity.CreatedTime; dto.ModifiedTime = entity.ModifiedTime; var refSetting = await _Context.MemberHierarchySettings.Where(x => x.MemberHierarchyParamId == entity.Id && x.OrganizationId == CurrentAccountOrganizationId).FirstOrDefaultAsync(); if (refSetting != null) { dto.Rate = refSetting.Rate; } await accountMicroService.GetNameByIds(entity.Creator, entity.Modifier, (creatorName, modifierName) => { dto.CreatorName = creatorName; dto.ModifierName = modifierName; }); return(await Task.FromResult(dto)); }); return(await _GetByIdRequest(id, toDTO)); }
public async Task <IActionResult> Get([FromQuery] PagingRequestModel model) { var accountMicroService = new AccountMicroService(_AppConfig.APIGatewayServer); var nationalUrbanMicroService = new NationalUrbanMicroService(_AppConfig.APIGatewayServer); var toDTO = new Func <Member, Task <MemberDTO> >(async(entity) => { var dto = new MemberDTO(); dto.Id = entity.Id; dto.Name = entity.Name; dto.Description = entity.Description; dto.Creator = entity.Creator; dto.Modifier = entity.Modifier; dto.CreatedTime = entity.CreatedTime; dto.ModifiedTime = entity.ModifiedTime; dto.Province = entity.Province; dto.City = entity.City; dto.County = entity.County; dto.Company = entity.Company; await nationalUrbanMicroService.GetNameByIds(entity.Province, entity.City, entity.County, (provinceName, cityName, countyName) => { dto.ProvinceName = provinceName; dto.CityName = cityName; dto.CountyName = countyName; }); var account = await accountMicroService.GetById(entity.AccountId); if (account != null) { dto.Name = account.Name; dto.Description = account.Description; dto.Phone = account.Phone; dto.Mail = account.Mail; dto.Icon = account.Icon; } //dto.Inviter = entity.Inviter; //dto.InviterName = await accountMicroService.GetNameById(entity.Inviter); dto.Superior = entity.Superior; dto.SuperiorName = await accountMicroService.GetNameById(entity.Superior); await accountMicroService.GetNameByIds(entity.Creator, entity.Modifier, (creatorName, modifierName) => { dto.CreatorName = creatorName; dto.ModifierName = modifierName; }); return(await Task.FromResult(dto)); }); return(await _PagingRequest(model, toDTO)); }
public override async Task <IActionResult> Get(string id) { var accountMicroService = new AccountMicroService(_AppConfig.APIGatewayServer); var nationalUrbanMicroService = new NationalUrbanMicroService(_AppConfig.APIGatewayServer); var toDTO = new Func <WorkFlow, Task <WorkFlowDTO> >(async(entity) => { var dto = new WorkFlowDTO(); dto.Id = entity.Id; dto.Name = entity.Name; dto.Description = entity.Description; dto.Creator = entity.Creator; dto.Modifier = entity.Modifier; dto.CreatedTime = entity.CreatedTime; dto.ModifiedTime = entity.ModifiedTime; dto.ApplyOrgans = entity.ApplyOrgans; var wfItems = new List <WorkFlowItemDTO>(); if (entity.WorkFlowItems != null && entity.WorkFlowItems.Count > 0) { foreach (var it in entity.WorkFlowItems) { var wfitem = new WorkFlowItemDTO(); wfitem.Id = it.Id; wfitem.Name = it.Name; wfitem.Description = it.Description; wfitem.CreatedTime = it.CreatedTime; wfitem.Creator = it.Creator; wfitem.ModifiedTime = it.ModifiedTime; wfitem.Modifier = it.Modifier; wfitem.FlowGrade = it.FlowGrade; wfitem.OperateRoles = it.OperateRoles; wfitem.SubWorkFlowId = it.SubWorkFlowId; wfitem.AutoWorkFlow = it.AutoWorkFlow; wfItems.Add(wfitem); } } dto.WorkFlowItems = wfItems.OrderBy(x => x.FlowGrade).ToList(); await accountMicroService.GetNameByIds(entity.Creator, entity.Modifier, (creatorName, modifierName) => { dto.CreatorName = creatorName; dto.ModifierName = modifierName; }); return(await Task.FromResult(dto)); }); return(await _GetByIdRequest(id, toDTO)); }
public async Task <IActionResult> Get([FromQuery] PagingRequestModel model) { var accountMicroService = new AccountMicroService(_AppConfig.APIGatewayServer); var nationalUrbanMicroService = new NationalUrbanMicroService(_AppConfig.APIGatewayServer); var toDTO = new Func <MemberRegistry, Task <MemberRegistryDTO> >(async(entity) => { var dto = new MemberRegistryDTO(); dto.Id = entity.Id; dto.Name = entity.Name; dto.Description = entity.Description; dto.Creator = entity.Creator; dto.Modifier = entity.Modifier; dto.CreatedTime = entity.CreatedTime; dto.ModifiedTime = entity.ModifiedTime; dto.OrganizationId = entity.OrganizationId; dto.Province = entity.Province; dto.City = entity.City; dto.County = entity.County; dto.Phone = entity.Phone; dto.Mail = entity.Mail; dto.Company = entity.Company; dto.Inviter = entity.Inviter; dto.InviterName = await accountMicroService.GetNameById(entity.Inviter); await accountMicroService.GetNameByIds(entity.Creator, entity.Modifier, (creatorName, modifierName) => { dto.CreatorName = creatorName; dto.ModifierName = modifierName; }); await nationalUrbanMicroService.GetNameByIds(entity.Province, entity.City, entity.County, (provinceName, cityName, countyName) => { dto.ProvinceName = provinceName; dto.CityName = cityName; dto.CountyName = countyName; }); return(await Task.FromResult(dto)); }); var advanceQuery = new Func <IQueryable <MemberRegistry>, Task <IQueryable <MemberRegistry> > >(async(query) => { query = query.Where(x => x.OrganizationId == CurrentAccountOrganizationId && x.IsApprove == false); return(await Task.FromResult(query)); }); return(await _PagingRequest(model, toDTO, advanceQuery)); }
public override async Task <IActionResult> Get(string id) { var accountMicroService = new AccountMicroService(_AppConfig.APIGatewayServer); var nationalUrbanMicroService = new NationalUrbanMicroService(_AppConfig.APIGatewayServer); var toDTO = new Func <MemberRegistry, Task <MemberRegistryDTO> >(async(entity) => { var dto = new MemberRegistryDTO(); dto.Id = entity.Id; dto.Name = entity.Name; dto.Description = entity.Description; dto.Creator = entity.Creator; dto.Modifier = entity.Modifier; dto.CreatedTime = entity.CreatedTime; dto.ModifiedTime = entity.ModifiedTime; dto.OrganizationId = entity.OrganizationId; dto.Province = entity.Province; dto.City = entity.City; dto.County = entity.County; dto.Phone = entity.Phone; dto.Mail = entity.Mail; dto.Company = entity.Company; dto.Inviter = entity.Inviter; dto.InviterName = await accountMicroService.GetNameById(entity.Inviter); await accountMicroService.GetNameByIds(entity.Creator, entity.Modifier, (creatorName, modifierName) => { dto.CreatorName = creatorName; dto.ModifierName = modifierName; }); await nationalUrbanMicroService.GetNameByIds(entity.Province, entity.City, entity.County, (provinceName, cityName, countyName) => { dto.ProvinceName = provinceName; dto.CityName = cityName; dto.CountyName = countyName; }); return(await Task.FromResult(dto)); }); return(await _GetByIdRequest(id, toDTO)); }
public async Task <IActionResult> ApproveRegistry([FromBody] MemberRegistryApproveModel model) { var accountMicroService = new AccountMicroService(_AppConfig.APIGatewayServer, Token); var mapping = new Func <MemberRegistry, Task <MemberRegistry> >(async(entity) => { entity.IsApprove = true; entity.Approver = CurrentAccountId; return(await Task.FromResult(entity)); }); var afterUpdated = new Func <MemberRegistry, Task>(async(entity) => { var user = new AccountCreateModel(); user.Mail = GuidGen.NewGUID();//使用guid作为邮件,以防邮件重复创建用户失败 user.Phone = entity.Phone; user.Name = entity.Name; user.Password = AppConst.NormalPassword; user.Description = entity.Description; user.ActivationTime = DateTime.Now; user.ExpireTime = DateTime.Now.AddYears(1); var dto = await accountMicroService.CreateAccount(user); //创建会员基本信息 if (dto != null) { var member = new Member(); member.AccountId = dto.Id; member.Province = entity.Province; member.City = entity.City; member.County = entity.County; member.Company = entity.Company; member.BusinessCard = entity.BusinessCard; member.Inviter = entity.Inviter; member.Superior = entity.Inviter; await _MemberRepository.CreateAsync(member, CurrentAccountId); } }); return(await _PutRequest(model.Id, mapping, afterUpdated)); }
public async Task <IActionResult> Get([FromQuery] PagingRequestModel model) { var accountMicroService = new AccountMicroService(_AppConfig.APIGatewayServer, Token); var toDTO = new Func <Order, Task <OrderDTO> >(async(entity) => { var dto = new OrderDTO(); dto.Id = entity.Id; dto.Name = entity.Name; dto.Description = entity.Description; dto.Creator = entity.Creator; dto.Modifier = entity.Modifier; dto.CreatedTime = entity.CreatedTime; dto.ModifiedTime = entity.ModifiedTime; dto.OrganizationId = entity.OrganizationId; dto.TotalNum = entity.TotalNum; dto.TotalPrice = Math.Round(entity.TotalPrice, 2, MidpointRounding.AwayFromZero); dto.OrderNo = entity.OrderNo; dto.CustomerName = entity.CustomerName; dto.CustomerPhone = entity.CustomerPhone; dto.CustomerAddress = entity.CustomerAddress; dto.Url = $"{_AppConfig.Plugins.OrderViewer}?order={entity.Id}"; #region 订单状态 if (string.IsNullOrWhiteSpace(entity.WorkFlowItemId)) { var refRule = await _Context.WorkFlowRuleDetails.FirstOrDefaultAsync(x => x.OrganizationId == CurrentAccountOrganizationId && x.WorkFlowRuleId == WorkFlowRuleConst.OrderWorkFlow); if (refRule != null) { var dfItem = await _Context.WorkFlowItems.FirstOrDefaultAsync(x => x.WorkFlowId == refRule.WorkFlowId && x.FlowGrade == 0); dto.WorkFlowItemId = dfItem.Id; dto.WorkFlowItemName = dfItem.Name; } } else { dto.WorkFlowItemId = entity.WorkFlowItemId; var dfitem = await _Context.WorkFlowItems.FirstOrDefaultAsync(x => x.Id == entity.WorkFlowItemId); if (dfitem != null) { dto.WorkFlowItemName = dfitem.Name; } } #endregion await accountMicroService.GetNameByIds(entity.Creator, entity.Modifier, (creatorName, modifierName) => { dto.CreatorName = creatorName; dto.ModifierName = modifierName; }); return(await Task.FromResult(dto)); }); var user = await accountMicroService.GetProfile(); var advanceQuery = new Func <IQueryable <Order>, Task <IQueryable <Order> > >(async(query) => { query = query.Where(x => x.OrganizationId == user.OrganizationId); if (user.RoleId == "brandmember") { query = query.Where(x => x.Creator == user.Id); } return(query.OrderByDescending(x => x.ModifiedTime)); }); return(await _PagingRequest(model, toDTO, advanceQuery)); }
public override async Task <IActionResult> Get(string id) { var accountMicroService = new AccountMicroService(_AppConfig.APIGatewayServer); var productSpecMicroService = new ProductSpecMicroService(_AppConfig.APIGatewayServer); var productMicroService = new ProductMicroService(_AppConfig.APIGatewayServer); var fileMicroServer = new FileMicroService(_AppConfig.APIGatewayServer); var toDTO = new Func <Order, Task <OrderDTO> >(async(entity) => { var dto = new OrderDTO(); dto.Id = entity.Id; dto.Name = entity.Name; dto.Description = entity.Description; dto.Creator = entity.Creator; dto.Modifier = entity.Modifier; dto.CreatedTime = entity.CreatedTime; dto.ModifiedTime = entity.ModifiedTime; dto.OrganizationId = entity.OrganizationId; dto.TotalNum = entity.TotalNum; //dto.TotalPrice = entity.TotalPrice; dto.OrderNo = entity.OrderNo; dto.CustomerName = entity.CustomerName; dto.CustomerPhone = entity.CustomerPhone; dto.CustomerAddress = entity.CustomerAddress; dto.Data = entity.Data; dto.SolutionId = entity.SolutionId; dto.Url = $"{_AppConfig.Plugins.OrderViewer}?order={entity.Id}"; #region 订单状态 if (string.IsNullOrWhiteSpace(entity.WorkFlowItemId)) { var refRule = await _Context.WorkFlowRuleDetails.FirstOrDefaultAsync(x => x.OrganizationId == CurrentAccountOrganizationId && x.WorkFlowRuleId == WorkFlowRuleConst.OrderWorkFlow); if (refRule != null) { var dfItem = await _Context.WorkFlowItems.FirstOrDefaultAsync(x => x.WorkFlowId == refRule.WorkFlowId && x.FlowGrade == 0); dto.WorkFlowItemId = dfItem.Id; dto.WorkFlowItemName = dfItem.Name; } } else { dto.WorkFlowItemId = entity.WorkFlowItemId; var dfitem = await _Context.WorkFlowItems.FirstOrDefaultAsync(x => x.Id == entity.WorkFlowItemId); if (dfitem != null) { dto.WorkFlowItemName = dfitem.Name; } } #endregion #region OrderDetails var details = new List <OrderDetailDTO>(); if (entity.OrderDetails != null && entity.OrderDetails.Count > 0) { decimal totalPrice = 0; foreach (var it in entity.OrderDetails) { var ditem = new OrderDetailDTO(); ditem.Id = it.Id; ditem.Remark = it.Remark; ditem.Num = it.Num; ditem.UnitPrice = Math.Round(it.UnitPrice, 2, MidpointRounding.AwayFromZero); ditem.TotalPrice = Math.Round(it.UnitPrice * it.Num, 2, MidpointRounding.AwayFromZero); ditem.AttachmentIds = it.AttachmentIds; ditem.Room = it.Room; ditem.Owner = it.Owner; totalPrice += ditem.TotalPrice; var pckDtos = new List <OrderDetailPackageDTO>(); var pcks = await _Context.OrderDetailPackages.Where(x => x.OrderDetailId == it.Id).OrderByDescending(x => x.Num).ToListAsync(); foreach (var pck in pcks) { var pckDto = new OrderDetailPackageDTO(); var refPackage = await _Context.ProductPackages.FirstOrDefaultAsync(x => x.Id == pck.ProductPackageId); if (refPackage != null) { pckDto.Id = pck.Id; pckDto.PackageName = refPackage.Name; pckDto.PackingUnit = refPackage.Num; pckDto.Num = pck.Num; pckDtos.Add(pckDto); } } ditem.Packages = pckDtos; await productSpecMicroService.GetBriefById(it.ProductSpecId, (spec) => { ditem.ProductSpecId = spec.Id; ditem.ProductSpecName = spec.Name; ditem.ProductId = spec.ProductId; ditem.Icon = spec.Icon; ditem.TPID = spec.TPID; }); await productMicroService.GetBriefById(ditem.ProductId, (prod) => { ditem.ProductName = prod.Name; ditem.ProductCategoryId = prod.CategoryId; ditem.ProductCategoryName = prod.CategoryName; ditem.ProductUnit = prod.Unit; ditem.ProductBrand = prod.Brand; ditem.ProductDescription = prod.Description; }); if (!string.IsNullOrWhiteSpace(ditem.AttachmentIds)) { var fsIdArr = ditem.AttachmentIds.Split(",", StringSplitOptions.RemoveEmptyEntries); var fsList = new List <OrderDetailAttachmentDTO>(); foreach (var fid in fsIdArr) { await fileMicroServer.GetById(fid, (fs) => { var fdto = new OrderDetailAttachmentDTO(); fdto.Id = fs.Id; fdto.Name = fs.Name; fdto.Url = fs.Url; fsList.Add(fdto); }); } ditem.Attachments = fsList; } details.Add(ditem); } dto.TotalPrice = totalPrice; } dto.OrderDetails = details; #endregion #region CustomizedProduct var customizedProducts = new List <OrderDetailCustomizedProductDTO>(); if (entity.CustomizedProducts != null & entity.CustomizedProducts.Count > 0) { foreach (var it in entity.CustomizedProducts) { var ditem = new OrderDetailCustomizedProductDTO(); ditem.Id = it.Id; ditem.Name = it.Name; ditem.Icon = it.Icon; customizedProducts.Add(ditem); } } dto.CustomizedProducts = customizedProducts; #endregion #region OrderFlowLogs var logs = new List <OrderFlowLogDTO>(); if (entity.OrderFlowLogs != null && entity.OrderFlowLogs.Count > 0) { foreach (var log in entity.OrderFlowLogs) { var logDto = new OrderFlowLogDTO(); logDto.Id = log.Id; logDto.Approve = log.Approve; logDto.Remark = log.Remark; logDto.WorkFlowItemId = log.WorkFlowItemId; logDto.WorkFlowItemName = await _Context.WorkFlowItems.Where(x => x.Id == log.WorkFlowItemId).Select(x => x.Name).FirstOrDefaultAsync(); logDto.Creator = log.Creator; logDto.CreatedTime = log.CreatedTime; await accountMicroService.GetNameByIds(entity.Creator, (creatorName) => { logDto.CreatorName = creatorName; }); logs.Add(logDto); } } dto.OrderFlowLogs = logs; #endregion await accountMicroService.GetNameByIds(entity.Creator, entity.Modifier, (creatorName, modifierName) => { dto.CreatorName = creatorName; dto.ModifierName = modifierName; }); return(await Task.FromResult(dto)); }); return(await _GetByIdRequest(id, toDTO)); }