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 async Task <IActionResult> Post([FromBody] MemberRegistryCreateModel model) { var refMember = await _Repository._DbContext.MemberRegistries.FirstOrDefaultAsync(x => x.Mail == model.Mail.Trim()); var member = refMember != null ? refMember : new MemberRegistry(); if (refMember == null) { member.Id = GuidGen.NewGUID(); } member.Name = model.Name; member.Description = model.Remark; member.Phone = model.Phone; member.Mail = model.Mail; member.Company = model.Company; member.Province = model.Province; member.City = model.City; member.Area = model.Area; member.Inviter = model.Inviter; if (refMember == null) { member.CreatedTime = DateTime.Now; } member.ModifiedTime = DateTime.Now; if (!string.IsNullOrWhiteSpace(member.Inviter)) { var inviter = await _Repository._DbContext.Accounts.FirstOrDefaultAsync(x => x.Id == member.Inviter); if (inviter != null) { member.OrganizationId = inviter.OrganizationId; } } if (refMember == null) { _Repository._DbContext.MemberRegistries.Add(member); } else { _Repository._DbContext.MemberRegistries.Update(member); } await _Repository._DbContext.SaveChangesAsync(); return(Ok()); }