public ActionResult <CaseResponse> Post([FromBody] Case newItem) { var response = new CaseResponse(); if (newItem is null) { return(BadRequest()); } response.Case = _caseService.AddCase(newItem); response.Achievements = AwardAchievements((Guid)newItem.UserId); var lvl = _levelingService.AddExperience(newItem.UserId, Activity.CreatedCase); if (lvl > 0) { response.LevelupResponse = new LevelupResponse { NewLevel = lvl }; } return(Ok(response)); }
public JsonResult SelectCases(CaseRequest request) { //EF Core 多对多关系查询 var datas = _db.Cases /*筛选条件*/ .WhereIf(request.IndustryID != null, x => x.IndustryCases.Any(b => b.IndustryID == request.IndustryID)) .WhereIf(request.ColorID != null, x => x.ColorCases.Any(b => b.ColorID == request.ColorID)) .WhereIf(request.ProductID != null, x => x.ProductCases.Any(b => b.ProductID == request.ProductID)) .WhereIf(request.ClientID != null, x => x.ClientCases.Any(b => b.ClientID == request.ClientID)) /*包含关系*/ .Include(x => x.IndustryCases) .Include(x => x.ColorCases) .Include(x => x.ProductCases) .Include(x => x.ClientCases) /*选择属性*/ .Select(x => new { x.ID, x.Name, x.Cover, Industries = x.IndustryCases.Select(i => new { i.Industry.ID, i.Industry.Name }), Colors = x.ColorCases.Select(c => new { c.Color.ID, c.Color.Name, c.Color.Value }), Products = x.ProductCases.Select(p => new { p.Product.ID, p.Product.Name }), Clients = x.ClientCases.Select(c => new { c.Client.ID, c.Client.Name }) }); CaseResponse response = new CaseResponse(); response.IndustryID = request.IndustryID; response.ColorID = request.ColorID; response.ProductID = request.ProductID; response.ClientID = request.ClientID; response.Page = request.Page; response.Limit = request.Limit; response.Total = datas.Count(); response.Data = datas.OrderBy(x => x.ID).Skip((request.Page - 1) * request.Limit).Take(request.Limit).ToList(); return(Json(response)); }
private CaseResponse CreateResponse(ProxySuccessResponse response, string caseNumber, ICaseClientProxy client) { var caseResponse = new CaseResponse { CaseNumber = string.IsNullOrWhiteSpace(caseNumber) ? null : caseNumber, Success = response.Success, Errors = response.Success ? null : response.Errors, Id = response.Id }; return(caseResponse); }
public async Task Should_use_first_best_case_if_lead_case_is_missing() { var notLeadCase = new CaseResponse { IsLeadCase = false, Name = "not lead case name", Number = "not lead case number" }; GivenApiHasResponseWithCase(notLeadCase); // the hearing is properly mapped and returned var hearing = await _hearingService.GetHearingFor("username", _hearingId); Assert.AreEqual(notLeadCase.Name, hearing.CaseName); Assert.AreEqual(notLeadCase.Number, hearing.CaseNumber); }
private HearingDetailsResponse InitHearing() { var @case = new CaseResponse { IsLeadCase = true, Name = "Mapping test", Number = "12345678 MT" }; return(new HearingDetailsResponse { Id = Guid.NewGuid(), Cases = new List <CaseResponse> { @case }, ScheduledDateTime = new DateTime(2020, 10, 12, 13, 10, 0, DateTimeKind.Utc) }); }
private void GivenApiHasResponseWithCase(CaseResponse caseResponse) { GivenApiHasResponse(new HearingDetailsResponse { Id = _hearingId, ScheduledDateTime = _scheduledDateTime, CaseTypeName = CaseType, HearingTypeName = HearingType, Participants = new List <ParticipantResponse> { new ParticipantResponse { Username = Username, Id = participantId } }, Cases = new List <CaseResponse> { caseResponse } }); }
private async Task <CaseResponse> UpdateAsync(SalesforceEventTypeEnum eventType, string sObject, string caseId, object record, ICaseClientProxy client = null, IDictionary <string, object> logData = null) { ProxySuccessResponse response = null; CaseResponse caseResponse = null; var isError = false; var metric = new MetricWatcher(eventType.ToString(), new MetricWatcherOption { ManualStartStop = true, LoggingOption = LogOptionEnum.FullLog, LogMessage = logData }); try { metric.Start(); if (client == null) { client = await CaseService.GetUserNamePasswordForceClientAsync(ClientEnum.Header); } response = await client.UpdateAsync(sObject, caseId, record); } catch (Exception ex) { isError = true; if (ex is ForceException) { throw new ExternalErrorException(ex.GetExceptionMessages(), new LogObject(eventType.ToString(), logData), ex); } throw; } finally { if (response != null) { response.Id = caseId; caseResponse = await HandleCaseResponse(client, response, isError, metric); } metric.Stop(isError); } return(caseResponse); }
public JsonResult InitData() { var datas = new { Industries = _db.Industries.ToList(), Colors = _db.Colors.ToList(), Products = _db.Products.ToList(), Clients = _db.Clients.ToList() }; CaseResponse response = new CaseResponse(); response.IndustryID = null; response.ColorID = null; response.ProductID = null; response.ClientID = null; response.Limit = 10; response.Page = 1; response.Data = datas; return(Json(response)); }