/// <summary>
        /// Potential usage
        /// Search will need to 'know' if to filter on widget has resources
        /// </summary>
        /// <param name="widgetId"></param>
        /// <param name="widgetSection"></param>
        /// <param name="entityTypeId"></param>
        /// <param name="messages"></param>
        /// <returns></returns>
        public static List <WidgetResource> WidgetSelectionGetAll(int widgetId, string widgetSection, int entityTypeId)
        {
            var output = new List <WidgetResource>();
            var entity = new WidgetResource();

            using (var context = new EntityContext())
            {
                var ws = context.Widget_Selection.Where(s => s.WidgetId == widgetId &&
                                                        s.WidgetSection == widgetSection &&
                                                        s.EntityTypeId == entityTypeId);

                if (ws != null && ws.Count() > 0)
                {
                    foreach (var item in ws)
                    {
                        entity = new WidgetResource()
                        {
                            WidgetId      = item.WidgetId,
                            EntityTypeId  = item.EntityTypeId,
                            WidgetSection = item.WidgetSection,
                            RecordId      = item.RecordId,
                            ResourceName  = item.ResourceName
                        };
                        output.Add(entity);
                    }
                }
            }

            return(output);
        }
 public async Task CreateWidgetAsync(WidgetResource widget)
 {
     var command     = new WidgetCreationCommand(widget);
     var sendOptions = new SendOptions {
         Credentials = new BearerCredentials(_accessToken)
     };
     await _bus.Send(command, sendOptions);
 }
        public ActionResult Create()
        {
            var model = new WidgetResource
            {
                Attributes = new WidgetAttributes()
            };

            return(View(model));
        }
        public async Task <ActionResult> Edit(string id, WidgetResource model)
        {
            try
            {
                await WidgetClient.UpdateWidget(id, model);

                return(RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
                TempData["Error"] = "Error updating widget: " + ex.Message;
                return(View(model));
            }
        }
        public async Task <ActionResult> CreateAsync(WidgetResource model)
        {
            try
            {
                await WidgetClient.CreateWidgetAsync(model);

                return(RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
                TempData["Error"] = "Error creating widget: " + ex.Message;
                return(View("Create", model));
            }
        }
Beispiel #6
0
        public static void ApplyUpdates(Widget widget, WidgetResource updates)
        {
            if (updates == null)
            {
                return;
            }
            var attributeUpdates = updates.Attributes ?? new WidgetAttributes();

            ApplyUpdate(attributeUpdates.PartNumber, v => widget.PartNumber   = v);
            ApplyUpdate(attributeUpdates.Description, v => widget.Description = v);
            ApplyUpdate(attributeUpdates.Length, v => widget.Length           = v.GetValueOrDefault());
            ApplyUpdate(attributeUpdates.Width, v => widget.Width             = v.GetValueOrDefault());
            ApplyUpdate(attributeUpdates.Height, v => widget.Height           = v.GetValueOrDefault());
        }
        public async Task <WidgetResource> CreateWidget(WidgetResource widget)
        {
            using (var client = NewClient())
            {
                var requestDocument = RequestDocument.Containing(widget);
                var response        = await client.PostAsJsonAsync("widgets", requestDocument);

                response.EnsureSuccessStatusCode();
                var responseContent = await response.Content.ReadAsStringAsync();

                var responseDocument = JsonConvert.DeserializeObject <ResponseDocument <WidgetResource> >(responseContent);
                return(responseDocument.Data);
            }
        }
Beispiel #8
0
        public static Widget ToEntity(WidgetResource resource)
        {
            if (resource == null)
            {
                throw new ArgumentNullException(nameof(resource));
            }
            var attributes = resource.Attributes ?? new WidgetAttributes();

            return(new Widget
            {
                Id = resource.Id,
                PartNumber = attributes.PartNumber,
                Description = attributes.Description,
                Length = attributes.Length.GetValueOrDefault(),
                Width = attributes.Width.GetValueOrDefault(),
                Height = attributes.Height.GetValueOrDefault()
            });
        }
        public async Task <WidgetResource> UpdateWidget(string id, WidgetResource updates)
        {
            using (var client = NewClient())
            {
                var requestDocument = RequestDocument.Containing(updates);
                var requestContent  = JsonConvert.SerializeObject(requestDocument);
                var requestMessage  = new HttpRequestMessage(new HttpMethod("PATCH"), "widgets/" + id)
                {
                    Content = new StringContent(requestContent, Encoding.UTF8, "application/json")
                };

                var response = await client.SendAsync(requestMessage);

                response.EnsureSuccessStatusCode();
                var responseContent = await response.Content.ReadAsStringAsync();

                var responseDocument = JsonConvert.DeserializeObject <ResponseDocument <WidgetResource> >(responseContent);
                return(responseDocument.Data);
            }
        }