Exemplo n.º 1
0
        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());
        }
Exemplo n.º 3
0
        /// <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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 6
0
        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();
            }
        }
Exemplo n.º 7
0
        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);
            }
        }
Exemplo n.º 8
0
        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));
            }
        }