public async Task <ResponseMessage <CustomerLossResponse> > CreateAsync(UserInfo userInfo, CustomerLossRequest customerLossRequest, CancellationToken cancellationToken = default(CancellationToken)) { ResponseMessage <CustomerLossResponse> response = new ResponseMessage <CustomerLossResponse>(); if (customerLossRequest == null || userInfo == null) { throw new ArgumentNullException(nameof(customerLossRequest)); } //修改客户状态 var customerInfo = await _icustomerInfoStore.GetAsync(a => a.Where(b => b.Id == customerLossRequest.CustomerId && !b.IsDeleted)); if (customerInfo == null) { response.Code = ResponseCodeDefines.NotFound; response.Message = "拉无效的客户未找到"; return(response); } if (!await _permissionExpansionManager.HavePermission(userInfo.Id, "LossCustomer", customerInfo.DepartmentId)) { response.Code = ResponseCodeDefines.NotAllow; response.Message = "没有权限拉无效该客户"; return(response); } if (await Store.GetAsync(x => x.Where(y => !y.IsDeleted && y.CustomerId == customerLossRequest.CustomerId)) != null) { response.Message = "该客户已经无效"; return(response); } CustomerLoss customerLoss = new CustomerLoss(); customerLoss.Id = Guid.NewGuid().ToString(); customerLoss.CustomerId = customerLossRequest.CustomerId; customerLoss.HouseTypeId = NeedHouseType.BusinessToBuy; customerLoss.IsDeleted = false; customerLoss.LossDepartmentId = userInfo.OrganizationId; customerLoss.LossTime = DateTime.Now; customerLoss.LossUserId = userInfo.Id; customerLoss.LossTypeId = customerLossRequest.LossTypeId; customerLoss.LossRemark = customerLossRequest.LossRemark; customerLoss.CreateTime = DateTime.Now; //if ((await _permissionExpansionManager.GetLowerDepartments(userInfo.OrganizationId)).Contains(response.DepartmentId) && (await _permissionExpansionManager.HavePermission(userInfo.Id, "LossCustomer"))) //{ // response.CustomerStatus = CustomerStatus.Lapse; // customerLoss.CustomerInfo = response; response.Extension = _mapper.Map <CustomerLossResponse>(await Store.CreateAsync(customerLoss, cancellationToken)); return(response); //} }
public async Task DeleteAsync(CustomerLoss customerLoss, CancellationToken cancellationToken = default(CancellationToken)) { if (customerLoss == null) { throw new ArgumentNullException(nameof(customerLoss)); } Context.Remove(customerLoss); try { await Context.SaveChangesAsync(cancellationToken); } catch (DbUpdateConcurrencyException) { throw; } }
public async Task <CustomerLoss> CreateAsync(CustomerLoss customerLoss, CancellationToken cancellationToken = default(CancellationToken)) { if (customerLoss == null) { throw new ArgumentNullException(nameof(customerLoss)); } Context.Add(customerLoss); if (customerLoss.CustomerInfo != null) { Context.Attach(customerLoss.CustomerInfo); Context.Update(customerLoss.CustomerInfo); //插入跟进信息 var followup = new CustomerFollowUp { Id = Guid.NewGuid().ToString(), CustomerId = customerLoss.CustomerInfo.Id, TypeId = CustomerFollowUpType.Loss, UserId = customerLoss.LossUserId, DepartmentId = customerLoss.LossDepartmentId, FollowUpTime = DateTime.Now, TrueName = customerLoss.CustomerInfo.CustomerName, FollowUpContents = "拉无效", CustomerNo = customerLoss.CustomerInfo.CustomerNo, IsRealFollow = false, CreateTime = DateTime.Now, CreateUser = customerLoss.LossUserId }; Context.Add(followup); } await Context.SaveChangesAsync(cancellationToken); return(customerLoss); }