Esempio n. 1
0
        public bool IsSensorSerialValid(string serial,
                                        out ErrorClasses.GenericError error)
        {
            error = null;

            if (!IsSerialValid(serial, out error))
            {
                return(false);
            }


            try
            {
                bool serialExists = SqlDataAccess.Entities.Sensor.GetSerialExists(serial, out error);

                if (error != null)
                {
                    return(false);
                }

                if (serialExists)
                {
                    error = ErrorClasses.Controller.GetSerialExists();
                    return(false);
                }

                return(true);
            }
            catch (Exception ex)
            {
                Logger.Controller.LogError(ex);
                error = ErrorClasses.Controller.GetUnknownError();
                return(false);
            }
        }
Esempio n. 2
0
        public bool EditSensorSerial(string oldSerial, string newSerial, string masterUserUsername,
                                     out ErrorClasses.GenericError error)
        {
            error = null;

            if (string.IsNullOrEmpty(oldSerial))
            {
                error = ErrorClasses.Controller.GetMissingParameterError("Old Serial");
                return(false);
            }

            if (string.IsNullOrEmpty(oldSerial))
            {
                error = ErrorClasses.Controller.GetMissingParameterError("New Serial");
                return(false);
            }

            if (!IsSerialValid(oldSerial, out error))
            {
                return(false);
            }
            if (!IsSerialValid(newSerial, out error))
            {
                return(false);
            }

            long masterUserId = SqlDataAccess.Entities.User.GetUserId(masterUserUsername, null, out error);

            if (error != null)
            {
                return(false);
            }
            if (masterUserId <= 0)
            {
                error = ErrorClasses.Controller.GetUserNotFoundError();
                return(false);
            }

            try
            {
                bool res = SqlDataAccess.Entities.Sensor.UpdateSerials(oldSerial, newSerial, masterUserId,
                                                                       out error);

                if (error != null)
                {
                    return(false);
                }

                return(true);
            }
            catch (Exception ex)
            {
                Logger.Controller.LogError(ex);
                error = ErrorClasses.Controller.GetUnknownError();
                return(false);
            }
        }
Esempio n. 3
0
        private bool IsSerialValid(string serial, out ErrorClasses.GenericError error)
        {
            error = null;

            if (string.IsNullOrEmpty(serial))
            {
                return(false);
            }
            if (serial.Length != Common.Constants.SERIAL_NUMBER_LENGTH)
            {
                error = ErrorClasses.Controller.GetInvalidSerialLength();
                return(false);
            }

            serial = serial.ToUpper();

            if ((serial[0] != 'M') &&
                (serial[0] != 'R'))
            {
                error = ErrorClasses.Controller.GetInvalidSerialFormat();
                return(false);
            }


            if (serial[1] != 'K')
            {
                error = ErrorClasses.Controller.GetInvalidSerialFormat();
                return(false);
            }

            bool weekValid    = false;
            bool yearValid    = false;
            bool runningValid = false;

            try
            {
                int week = Convert.ToInt32(serial.Substring(2, 2));
                if (week <= 53)
                {
                    weekValid = true;
                }
            }
            catch
            {
            }

            try
            {
                int year = Convert.ToInt32(serial.Substring(4, 2)) + 2000;
                if ((year >= 2012) && (year <= DateTime.Now.Year))
                {
                    yearValid = true;
                }
            }
            catch
            {
            }

            try
            {
                int running = Convert.ToInt32(serial.Substring(6, 4));
                runningValid = true;
            }
            catch
            {
            }

            if (
                (!weekValid) ||
                (!yearValid) ||
                (!runningValid)
                )
            {
                error = ErrorClasses.Controller.GetInvalidSerialFormat();
                return(false);
            }


            return(true);
        }