Пример #1
0
        public IActionResult Update([FromBody] ComponentApiExist[] components)
        {
            var savedComponents = new List <ComponentApiExist>();

            Log(LogTypeEnum.Info, EventEnum.Update, null, $"Components update started");

            using (var dbController = new DbController())
            {
                dbController.Connect();

                var componentConverter = new ComponentConverter(dbController, _settingsService);

                var dbComponents = new List <Component>();

                var errorMessages = new List <string>();

                foreach (var componentApiOut in components)
                {
                    var error       = string.Empty;
                    var dbComponent = componentConverter.ApiToDbExists(componentApiOut, out error);

                    if (dbComponent == null)
                    {
                        errorMessages.Add(error);

                        Log(LogTypeEnum.Warning, EventEnum.Update, false, $"Component update faild: {error}");
                    }
                    else
                    {
                        dbComponents.Add(dbComponent);

                        componentApiOut.ChangeDate = dbComponent.ChangeDate;
                        componentApiOut.CreateDate = dbComponent.CreateDate;

                        savedComponents.Add(componentApiOut);

                        Log(LogTypeEnum.Info, EventEnum.Update, true, $"Component update with id '{dbComponent.Id}' is ready");
                    }
                }

                if (errorMessages.Count != 0)
                {
                    var errorMessage = string.Join(';', errorMessages);

                    return(new BadRequestObjectResult(new ErrorDetails {
                        StatusCode = (int)HttpStatusCode.BadRequest, Message = errorMessage
                    }));
                }

                dbController.SaveComponents(dbComponents);

                dbController.SaveClose();

                Log(LogTypeEnum.Info, EventEnum.Create, true, $"Components update finished. Count {savedComponents.Count}");
            }

            return(new JsonResult(savedComponents));
        }
Пример #2
0
        /// <summary>
        /// Extends ConvertTo so that methods that return a specific type object given a Type parameter can be
        /// used as generic method and casting is not required.
        /// <example>
        /// typeconverter.ConvertTo<int>(value);
        /// </example>
        /// </summary>
        public static T ConvertTo <T>(this ComponentConverter typeconverter, Object value)
        {
            if (typeconverter == null)
            {
                throw new ArgumentNullException("typeconverter");
            }

            return((T)typeconverter.ConvertTo(value, typeof(T)));
        }
Пример #3
0
        /// <summary>
        /// Extends ConvertTo so that methods that return a specific type object given a Type parameter can be
        /// used as generic method and casting is not required.
        /// <example>
        /// referenceconverter.ConvertTo<int>(context, culture, value);
        /// </example>
        /// </summary>
        public static T ConvertTo <T>(this ComponentConverter referenceconverter, ITypeDescriptorContext context, System.Globalization.CultureInfo culture, Object value)
        {
            if (referenceconverter == null)
            {
                throw new ArgumentNullException("referenceconverter");
            }

            return((T)referenceconverter.ConvertTo(context, culture, value, typeof(T)));
        }
Пример #4
0
        public async Task <Result <List <Component> > > GetComponents()
        {
            var resultFromClient = await componentsClient.GetComponentsAsync();

            return(new Result <List <Component> >
            {
                IsSuccess = resultFromClient.IsSuccess,
                Message = resultFromClient.Message,
                Value = resultFromClient.IsSuccess
                    ? resultFromClient.Value.Select(c => ComponentConverter.FromDto(c)).ToList()
                    : null
            });
        }
Пример #5
0
        public async Task <Result <Component> > CreateComponent(CreateComponent component)
        {
            var resultFromClient = await componentsClient.CreateComponentAsync(ComponentConverter.ToDto(component));

            return(new Result <Component>
            {
                IsSuccess = resultFromClient.IsSuccess,
                Message = resultFromClient.Message,
                Value = resultFromClient.IsSuccess
                    ? ComponentConverter.FromDto(resultFromClient.Value)
                    : null
            });
        }
Пример #6
0
        private JsonFxAOT()
        {
            TypeConverter c;

            c          = new ArrayConverter();
            m_fakeFlag = c.Equals(c);
            //c = new BaseNumberConverter();
            //m_fakeFlag = c.Equals(c);
            c          = new BooleanConverter();
            m_fakeFlag = c.Equals(c);
            c          = new ByteConverter();
            m_fakeFlag = c.Equals(c);
            c          = new CollectionConverter();
            m_fakeFlag = c.Equals(c);
            c          = new ComponentConverter(typeof(int));
            m_fakeFlag = c.Equals(c);
            c          = new CultureInfoConverter();
            m_fakeFlag = c.Equals(c);
            c          = new DateTimeConverter();
            m_fakeFlag = c.Equals(c);
            c          = new DecimalConverter();
            m_fakeFlag = c.Equals(c);
            c          = new DoubleConverter();
            m_fakeFlag = c.Equals(c);
            c          = new EnumConverter(typeof(int));
            m_fakeFlag = c.Equals(c);
            c          = new ExpandableObjectConverter();
            m_fakeFlag = c.Equals(c);
            c          = new Int16Converter();
            m_fakeFlag = c.Equals(c);
            c          = new Int32Converter();
            m_fakeFlag = c.Equals(c);
            c          = new Int64Converter();
            m_fakeFlag = c.Equals(c);
            c          = new NullableConverter(typeof(object));
            m_fakeFlag = c.Equals(c);
            c          = new SByteConverter();
            m_fakeFlag = c.Equals(c);
            c          = new SingleConverter();
            m_fakeFlag = c.Equals(c);
            c          = new StringConverter();
            m_fakeFlag = c.Equals(c);
            c          = new TimeSpanConverter();
            m_fakeFlag = c.Equals(c);
            c          = new UInt16Converter();
            m_fakeFlag = c.Equals(c);
            c          = new UInt32Converter();
            m_fakeFlag = c.Equals(c);
            c          = new UInt64Converter();
            m_fakeFlag = c.Equals(c);
        }
Пример #7
0
        public IActionResult Create([FromBody] ComponentApiNew[] components)
        {
            Log(LogTypeEnum.Info, EventEnum.Create, null, "Components creation started");
            //var r = User.Claims;
            var savedComponents = new List <ComponentApiExist>();

            using (var dbController = new DbController())
            {
                dbController.Connect();

                var componentConverter = new ComponentConverter(dbController, _settingsService);

                var dbComponents = new List <Component>();

                var errorMessages = new List <string>();

                foreach (var componentObject in components)
                {
                    var error       = string.Empty;
                    var dbComponent = componentConverter.ApiInToDbNew(componentObject, out error);

                    if (dbComponent == null)
                    {
                        Log(LogTypeEnum.Warning, EventEnum.Create, false, $"Component creation faild: {error}");

                        errorMessages.Add(error);
                    }
                    else
                    {
                        dbComponents.Add(dbComponent);

                        var savedComponent = new ComponentApiExist
                        {
                            Id         = dbComponent.Id,
                            CreateDate = dbComponent.CreateDate,
                            ChangeDate = dbComponent.CreateDate,
                            TypeName   = componentObject.TypeName,
                            Attributes = componentObject.Attributes
                        };

                        savedComponents.Add(savedComponent);

                        Log(LogTypeEnum.Info, EventEnum.Create, true, $"Component creation with id '{dbComponent.Id}' is ready");
                    }
                }

                if (errorMessages.Count != 0)
                {
                    var errorMessage = string.Join(';', errorMessages);

                    return(new BadRequestObjectResult(new ErrorDetails {
                        StatusCode = (int)HttpStatusCode.BadRequest, Message = errorMessage
                    }));
                }

                dbController.AddComponents(dbComponents);

                dbController.SaveClose();

                Log(LogTypeEnum.Info, EventEnum.Create, true, $"Components creation finished. Count {savedComponents.Count}");
            }

            return(new JsonResult(savedComponents));
        }