Exemplo n.º 1
0
        public IActionResult Post([FromBody] SettingsDTO body)
        {
            Settings settings = context.Settings.First();

            if (body.temperature_unit != null)
            {
                if (context.Unitstemperature.Find(body.temperature_unit) == null)
                {
                    return(StatusCode(400));
                }

                IDoubleConverter converter = null;
                if (settings.TempUnit.Value == 'C' || settings.TempUnit.Value == 'F')
                {
                    if (settings.TempUnit.Value == 'C' && body.temperature_unit.Value == 'F')
                    {
                        converter         = new CelsiusToFahrenheit();
                        settings.TempUnit = 'F';
                    }
                    else if (settings.TempUnit.Value == 'F' && body.temperature_unit.Value == 'C')
                    {
                        converter         = new FahrenheitToCelsius();
                        settings.TempUnit = 'C';
                    }
                }
                else
                {
                    return(StatusCode(400));
                }
                if (converter != null)
                {
                    foreach (var t in context.Temperature)
                    {
                        t.Val = converter.Convert(t.Val);
                    }
                    settings.ClimOn  = converter.Convert(settings.ClimOn.Value);
                    settings.ClimOff = converter.Convert(settings.ClimOff.Value);
                    settings.HeatOn  = converter.Convert(settings.HeatOn.Value);
                    settings.HeatOff = converter.Convert(settings.HeatOff.Value);
                    context.SaveChanges();
                }
            }

            if (!String.IsNullOrEmpty(body.house_name))
            {
                settings.HouseName = body.house_name;
            }
            if (body.clim_on != null)
            {
                settings.ClimOn = body.clim_on;
            }
            if (body.clim_off != null)
            {
                settings.ClimOff = body.clim_off;
            }
            if (body.heat_on != null)
            {
                settings.HeatOn = body.heat_on;
            }
            if (body.heat_off != null)
            {
                settings.HeatOff = body.heat_off;
            }
            context.SaveChanges();

            return(Ok());
        }
 public ScaleShiftProjector(IDoubleConverter <TX> XConverter, IDoubleConverter <TY> YConverter)
 {
     _xConverter = XConverter;
     _yConverter = YConverter;
 }