public UpdateTemplateResponse UpdateTemplate(UpdateTemplateRequest request) { var template = DataContext.DashboardTemplates .Include(x => x.LayoutRows) .Include(x => x.LayoutRows.Select(y => y.LayoutColumns)) .Single(x => x.Id == request.Id); template.Name = request.Name; template.RefershTime = request.RefershTime; template.Remark = request.Remark; template.IsActive = request.IsActive; foreach (var row in template.LayoutRows.ToList()) { foreach (var column in row.LayoutColumns.ToList()) { DataContext.LayoutColumns.Remove(column); } DataContext.LayoutRows.Remove(row); } var index = 0; foreach (var row in request.LayoutRows) { var layoutRow = new LayoutRow(); var colIndex = 0; layoutRow.Index = index; foreach (var col in row.LayoutColumns) { var layoutColumn = new LayoutColumn(); layoutColumn.Index = colIndex; layoutColumn.Width = col.Width; if (col.ArtifactId != 0) { if (DataContext.Artifacts.Local.FirstOrDefault(x => x.Id == col.ArtifactId) == null) { var artifact = new Artifact { Id = col.ArtifactId, GraphicType = "Unchanged", GraphicName = "Unchanged", HeaderTitle = "Unchanged" }; //DataContext.Entry(artifact).State = EntityState.Unchanged; DataContext.Artifacts.Attach(artifact); layoutColumn.Artifact = artifact; } else { layoutColumn.Artifact = DataContext.Artifacts.Local.FirstOrDefault(x => x.Id == col.ArtifactId); } } layoutRow.LayoutColumns.Add(layoutColumn); colIndex++; } template.LayoutRows.Add(layoutRow); index++; } DataContext.DashboardTemplates.Attach(template); DataContext.Entry(template).State = EntityState.Modified; DataContext.SaveChanges(); return(new UpdateTemplateResponse()); }
public async Task <IHttpActionResult> UpdateTemplate(UpdateTemplateRequest dto) { dto.Template.GameGroups.ForEach(o => o.TemplateId = dto.Template.Id); try { ctx.Entry <Template>(dto.Template).State = EntityState.Modified; dto.Template.GameGroups.ForEach(o => { if (dto.Updated.Contains(o.Id)) { ctx.Entry <TemplateGameGroup>(o).State = EntityState.Modified; } else if (o.Id == Guid.Empty) { ctx.Entry <TemplateGameGroup>(o).State = EntityState.Added; } }); TemplateGameGroup group = null; dto.Removed.ToList().ForEach(o => { group = new TemplateGameGroup() { Id = o }; ctx.Entry <TemplateGameGroup>(group).State = EntityState.Deleted; }); await ctx.SaveChangesAsync(); } catch (Exception ex) { return(InternalServerError(ex)); } return(Ok()); }
/// <summary> /// Update the code for an existing template, asynchronously. /// </summary> /// <param name="request"> /// The request. /// </param> /// <remarks> /// If <c>null</c> is provided for any fields, the values will remain unchanged. /// </remarks> /// <returns> /// The <see cref="TemplateInfo" /> object of the template that was updated /// </returns> public async Task <TemplateInfo> UpdateTemplate(UpdateTemplateRequest request) { const string path = "/templates/update.json"; TemplateInfo response = await Post <TemplateInfo>(path, request); return(response); }
public async Task UpdateTemplateAsync(int templateID, UpdateTemplateRequest req) { if (templateID < 1) { throw new Client.Exception.ANSClientValidationException("Invalid template id"); } await this.Client.PatchAsync($"/safedns/v1/templates/{templateID}", req); }
public async Task UpdateTemplateAsync_ValidParameters_ExpectedClientCall() { UpdateTemplateRequest req = new UpdateTemplateRequest() { Name = "template1" }; IANSSafeDNSClient client = Substitute.For <IANSSafeDNSClient>(); var ops = new TemplateOperations <Template>(client); await ops.UpdateTemplateAsync(123, req); await client.Received().PatchAsync("/safedns/v1/templates/123", req); }
public async void update(long device_id, [FromQuery] string account_id, [FromBody] UpdateTemplateRequest request) { using (var dbContext = new PulseDbContext()) { var(account, template) = await GetTemplate(dbContext, device_id, account_id); if (template == null) { return; } template.Text = request.Text; //await FirebaseHelper.SendMessage(account, "updated_template", template); await dbContext.SaveChangesAsync(); } }
protected override void ProcessRecord() { base.ProcessRecord(); UpdateTemplateRequest request; try { request = new UpdateTemplateRequest { TemplateId = TemplateId, UpdateTemplateDetails = UpdateTemplateDetails, OpcRequestId = OpcRequestId, IfMatch = IfMatch }; response = client.UpdateTemplate(request).GetAwaiter().GetResult(); WriteOutput(response, response.Template); FinishProcessing(response); } catch (Exception ex) { TerminatingErrorDuringExecution(ex); } }
public async Task <ActionResult <UpdateTemplateResponse> > Put([FromRoute] string clientID, [FromRoute] int id, [FromBody] UpdateTemplateRequest request) { UpdateTemplateResponse response = new UpdateTemplateResponse(); string responseMessage = $"UPDATE_{clientID}_TEMPLATE_{id}"; string cacheKey = $"{clientID}_TEMPLATE_{id}"; try { var factory = Factory.Instance.GetTemplate(_configuration); var template = factory.GetTemplate(clientID, id); #region update template template.Title = request.Title; template.Description = request.Description; template.Page = request.Page; template.Content = request.Content; #endregion await factory.Save(template); RemoveFromCache(cacheKey); response.StatusCode = "200"; response.Data = $"Template {id} updated with success"; return(Ok(response)); } catch (Exception ex) { response.StatusCode = "500"; response.Messages.Add(ResponseMessage.Create(ex, responseMessage)); return(StatusCode(500, response)); } }