예제 #1
0
        public bool Update(UserInfo user, ValveInfo valve, List <AttachmentInfo> list)
        {
            var sb = new StringBuilder();

            if (valve != null)
            {
                sb.AppendFormat("update WaterService.ValveInfo set GenreId={0},TypeId={1},Caliber={2},Lat={3},Lon={4},Modify='{5}',ModifyDate='{6}',ValveCode='{7}',ValveName='{8}',ControlScope='{10}' where ValveId={9};", valve.GenreId, valve.TypeId, valve.Caliber, valve.Lat, valve.Lon, valve.Modify, valve.ModifyDate.ToString("yyyy-MM-dd HH:mm:ss"), valve.ValveCode, valve.ValveName, valve.ValveId, valve.ControlScope);
                new AttachmentManager().AddList(list, valve.ValveId, valve.Create, valve.CreateDate, valve.GenreId);
            }
            new UserManage().UpDate_WaterService_UserInfo(user);

            if (sb.Length > 1)
            {
                return(new MySqlHelper().ExcuteNonQuery(sb.ToString()) > 0);
            }
            else
            {
                return(false);
            }
        }
예제 #2
0
        public int Add(UserInfo user, ValveInfo valve, List <AttachmentInfo> list)
        {
            var sb = new StringBuilder();

            sb.AppendFormat("insert into WaterService.ValveInfo(ValveCode,ValveName,TypeId,GenreId,Caliber,Lat,Lon,`Create`,CreateDate,ControlScope) values('{0}','{1}',{2},{3},{4},{5},{6},'{7}','{8}','{9}');select @@IDENTITY;", valve.ValveCode, valve.ValveName, valve.TypeId, valve.GenreId, valve.Caliber, valve.Lat, valve.Lon, user.Create, valve.CreateDate.ToString("yyyy-MM-dd HH:mm:ss"), valve.ControlScope);
            var id = int.Parse(new MySqlHelper().ExecuteScalar(sb.ToString()).ToString());

            new UserManage().Add_WaterService_UserInfo(user, id);
            new AttachmentManager().AddList(list, id, user.Create, user.CreateDate, valve.GenreId);
            new MaintenanceManager().Add(new MaintenanceInfo()
            {
                MeterId     = int.Parse(id.ToString()),
                GenreId     = valve.GenreId,
                TypeId      = valve.TypeId,
                Create      = user.Create,
                CreateDate  = DateTime.Now,
                InstallTime = DateTime.Now,
            });
            return(id);
        }
예제 #3
0
        internal static bool settingsValid(ref List <String> fehler)
        {
            if (fehler == null)
            {
                fehler = new List <string>();
            }

            // Empfänger prüfen ...
            if (calibration == null)
            {
                fehler.Add(String.Format("Fehler {0:3} - Die Bibliothek FlowCalibration.dll wurde nicht geladen.", fehler.Count + 1));
            }
            else if (!calibration.Initialized)
            {
                fehler.Add(String.Format("Fehler {0:000} - Der EnOcean-Empfänger wurde nicht initialisiert.", fehler.Count + 1));
            }

            if (Rooms.Count == 0)
            {
                fehler.Add(String.Format("Fehler {0:000} - Es wurde kein Raum angelegt.", fehler.Count + 1));
            }

            List <IValve> valves = new List <IValve>();

            // Einstellungen der Ventile prüfen ...
            foreach (Room room in rooms)
            {
                if (room.Heaters.Count == 0)
                {
                    fehler.Add(String.Format("Fehler {0:000} - Im Raum {1:000} wurde kein Heizkörper angelegt.", fehler.Count + 1, room.Name));
                }

                foreach (Heater heater in room.Heaters)
                {
                    ValveInfo valveInfo = heater.ValveInfo;

                    if (valveInfo == null)
                    {
                        fehler.Add(String.Format("Fehler {0:000} - Dem Heizkörper {1:000} im Raum {2:000} wurde kein Ventil zugewiesen.", fehler.Count + 1, heater.ID + 1, room.Name));
                    }
                    else
                    {
                        IValve valve = heater.Valve;

                        if (valve == null)
                        {
                            fehler.Add(String.Format("Fehler {0:000} - Das Ventil am Heizkörper {1:000} im Raum {2:000} wurde nicht angelernt.", fehler.Count + 1, heater.ID + 1, room.Name));
                        }
                        else
                        {
                            valves.Add(valve);

                            if (!valve.Battery)
                            {
                                fehler.Add(String.Format("Fehler {0:000} - Die Ladung der Batterien des Ventils am Heizkörper {1:000} im Raum {2:000} ist unter 20 %.", fehler.Count + 1, heater.ID + 1, room.Name));
                            }

                            if (!valve.KommunikationOK)
                            {
                                fehler.Add(String.Format("Fehler {0:000} - Die Kommunikation mit dem Ventil am Heizkörper {1:000} im Raum {2:000} ist unterbrochen.", fehler.Count + 1, heater.ID + 1, room.Name));
                            }

                            if (valve.Signal > 85)
                            {
                                fehler.Add(String.Format("Fehler {0:000} - Die Signalstärke des Ventils am Heizkörper {1:000} im Raum {2:000} ist nicht ausreichend.", fehler.Count + 1, heater.ID + 1, room.Name));
                            }
                        }
                    }
                }
            }

            return(fehler.Count == 0);
        }
예제 #4
0
        static void Main()
        {
            //test();
            //int b = 2;

            fonts = GetEmbeddedFonts();
            InitPrivateFonts();

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            formMain = new FormMain();

            Data.valveInfos = new List <ValveInfo>();

            try
            {
                ICalibration calibration = new FlowCalibration.Calibration();

                if (calibration == null)
                {
                    MessageBox.Show("Die Bibliothek zum hydraulischen Abgleich konnte nicht geladen werden.");
                    return;
                }

                Data.calibration = calibration;

                Assembly assembly      = Assembly.GetAssembly(formMain.GetType());
                string[] resourceNames = assembly.GetManifestResourceNames();
                string   search        = (assembly.GetName().Name + ".Resources.liste_").ToLower();

                foreach (string resourceName in resourceNames)
                {
                    if (!resourceName.ToLower().StartsWith(search))
                    {
                        continue;
                    }

                    string manufacturer = resourceName.Substring(search.Length, resourceName.Length - search.Length - 4);

                    StringBuilder builder = new StringBuilder(manufacturer);
                    builder[0]   = manufacturer.ToUpper()[0];
                    manufacturer = builder.ToString();

                    StreamReader reader = new StreamReader(assembly.GetManifestResourceStream(resourceName), System.Text.Encoding.GetEncoding(852));

                    while (!reader.EndOfStream)
                    {
                        String line = reader.ReadLine();

                        string[] values = line.Split(';');

                        ValveInfo valveInfo = new ValveInfo();
                        valveInfo.Manufacturer = manufacturer;
                        valveInfo.TGA          = values[1];
                        valveInfo.Description  = values[5];

                        Data.valveInfos.Add(valveInfo);
                    }
                }
                formMain.loadOption_Click(null, null);
            }
            catch (CalibrationException exception)
            {
                Console.WriteLine(exception);
                return;
            }


            Application.Run(formMain);
        }
예제 #5
0
 public bool Update(UserInfo user, ValveInfo valve, List <AttachmentInfo> list)
 {
     return(_dal.Update(user, valve, list));
 }