コード例 #1
0
        public override void OnActionExecuting(HttpActionContext context)
        {
            using (IUnitOfWork unitOfWork = new UnitOfWork())
            {
                IRepository <User> repository  = new Repository <User>(unitOfWork);
                IUserService       userService = new UserService(repository);
                IAuthService       authService = new AuthService(repository);

                bool skipAuthorization = context.ActionDescriptor.GetCustomAttributes <AllowAnonymousAttribute>().Any() ||
                                         context.ActionDescriptor.ControllerDescriptor.GetCustomAttributes <AllowAnonymousAttribute>().Any();
                if (skipAuthorization)
                {
                    return;
                }

                if (context.Request.Headers.Authorization == null)
                {
                    context.Response = context.Request.CreateResponse(HttpStatusCode.Unauthorized, new { message = "Authorization key required" });
                    return;
                }
                string   apiKey = context.Request.Headers.Authorization.ToString();
                User     user   = userService.FindBy(x => x.ApiKey == apiKey).FirstOrDefault();
                DateTime now    = DateUtil.GetDateTimeNow();
                if (user == null || (user.ExpiraApiKey.HasValue && user.ExpiraApiKey.Value < now))
                {
                    context.Response = context.Request.CreateResponse(HttpStatusCode.Unauthorized, new { message = "Invalid authorization token" });
                    return;
                }
                LanguageMngr.SetLanguage(user.Language);
                UserApiAuthenticated.SetUserAuthenticated(context, user);
            }
        }
コード例 #2
0
        public override void OnActionExecuting(HttpActionContext context)
        {
            using (IUnitOfWork unitOfWork = new UnitOfWork())
            {
                IRepository <User> repository  = new Repository <User>(unitOfWork);
                IUserService       userService = new UserService(repository);
                IAuthService       authService = new AuthService(repository);

                bool skipAuthorization = context.ActionDescriptor.GetCustomAttributes <AllowAnonymousAttribute>().Any() ||
                                         context.ActionDescriptor.ControllerDescriptor.GetCustomAttributes <AllowAnonymousAttribute>().Any();
                if (skipAuthorization)
                {
                    return;
                }

                if (context.Request.Headers.Authorization == null)
                {
                    context.Response = context.Request.CreateResponse(HttpStatusCode.Unauthorized, new { message = "Authorization key required" });
                    return;
                }
                string   apiKey = context.Request.Headers.Authorization.ToString();
                User     user   = userService.FindBy(x => x.ApiKey == apiKey).FirstOrDefault();
                DateTime now    = DateUtil.GetDateTimeNow();
                if (user == null || (user.ExpiraApiKey.HasValue && user.ExpiraApiKey.Value < now))
                {
                    context.Response = context.Request.CreateResponse(HttpStatusCode.Unauthorized, new { message = "Invalid authorization token" });
                    return;
                }
                string actionName     = context.ActionDescriptor.ActionName;
                string controllerName = context.ActionDescriptor.ControllerDescriptor.ControllerName;
                IEnumerable <Permission> permissions = authService.GetPermissions(user.Id,
                                                                                  actionName, controllerName,
                                                                                  Constants.PERMISSIONS_TYPE_ENUM.API.GetEnumValue <string>());
                if (!permissions.Any())
                {
                    context.Response = context.Request.CreateResponse(HttpStatusCode.Forbidden, new { message = "User has no permissions for this action" });
                    return;
                }
                LanguageMngr.SetLanguage(user.Language);
                UserApiAuthenticated.SetUserAuthenticated(context, user);
                //Validacion de tokens generados

                /*
                 * if (!tokenEngine.ValidateToken(apiKey, out clienteId))
                 * {
                 *  context.Response = context.Request.CreateResponse(HttpStatusCode.Unauthorized, new { mensaje = "invalid authorization token" });
                 *  return;
                 * }
                 * context.Request.Properties.Add(new KeyValuePair<string, object>("clienteId", clienteId));*/
                //context.Request.Properties.Add(new KeyValuePair<string, object>("clientEmail", clientEmail));
            }
        }
コード例 #3
0
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
            bool IsMultiLanguage = Convert.ToBoolean(System.Configuration.ConfigurationManager.AppSettings["Lang.MultiLanguage"]);
            var  _default        = System.Configuration.ConfigurationManager.AppSettings["Lang.Default"];
            var  language        = _default == null ? ViewConstants.ESPANOL : (_default.Trim().ToUpper().Equals(ViewConstants.INGLES.ToUpper()) ? ViewConstants.INGLES : ViewConstants.ESPANOL);

            LanguageMngr.SetLanguage(language);
            LanguageMngr.IsMultiLanguage = IsMultiLanguage;
        }
コード例 #4
0
 private void button_ok_Click(object sender, EventArgs e)
 {
     Form1.g_username = this.textBox_UserName.Text;
     Form1.g_password = this.textBox_Password.Text;
     if (this.textBox_UserName.Text != "eng004" || this.textBox_Password.Text != "eng004")
     {
         MessageBox.Show(LanguageMngr.pls_enter_right_usrname_pwd());
     }
     if (this.textBox_UserName.Text == "eng004" || this.textBox_Password.Text == "eng004")
     {
         this.Close();
     }
 }
コード例 #5
0
        protected override IAsyncResult BeginExecuteCore(AsyncCallback callback, object state)
        {
            string     lang       = null;
            HttpCookie langCookie = Request.Cookies["culture"];

            if (langCookie != null)
            {
                lang = langCookie.Value;
            }
            else
            {
                var userLanguage = Request.UserLanguages;
                var userLang     = userLanguage != null ? userLanguage[0] : "";
                lang = string.IsNullOrEmpty(userLang) ? LanguageMngr.GetDefaultLanguage() : userLang;
            }
            LanguageMngr.SetLanguage(lang);
            return(base.BeginExecuteCore(callback, state));
        }
コード例 #6
0
        public static string GetAdaultChildSetting(byte bt)
        {
            if (FileMngr.m_dirPath == null)
            {
                return("");
            }
            string str = LanguageMngr.adault_or_child(bt);

            //if (LanguageMngr.m_language == LANGUAGE.CHINA)
            //{
            //    str = Convert.ToBoolean(bt) ? "儿童" : "成人";
            //}
            //else if (LanguageMngr.m_language == LANGUAGE.ENGLISH)
            //{
            //    str = Convert.ToBoolean(bt) ? "Child" : "Adault";
            //}
            //else
            //{
            //    //等有其他语言再添加
            //}
            return(str);
        }
コード例 #7
0
        //先试一个
        public static string GetRunningMode(byte bt)
        {
            if (FileMngr.m_dirPath == null)
            {
                return("");
            }
            string str = LanguageMngr.humidy_or_atomiz(bt);

            //if(LanguageMngr.m_language==LANGUAGE.CHINA)
            //{
            //    str = Convert.ToBoolean(bt) ? "雾化" : "湿化";
            //}
            //else if(LanguageMngr.m_language==LANGUAGE.ENGLISH)
            //{
            //    str = Convert.ToBoolean(bt) ? "Atomization" : "Humidifying";
            //}
            //else
            //{
            //    //等有其他语言再添加
            //}
            return(str);
        }
コード例 #8
0
        private void Form_PatientInfo_Load(object sender, EventArgs e)
        {
            LanguageMngr lang = new LanguageMngr();

            //初始化语言
            #region
            this.Text                   = lang.patient_info();
            this.label_name.Text        = lang.name();
            this.label_age.Text         = lang.age();
            this.label_gender.Text      = lang.gender();
            this.radioButton_male.Text  = lang.male();
            this.radioButton_femal.Text = lang.female();
            this.label_height.Text      = lang.height();
            this.label_weight.Text      = lang.weight();
            this.label_phoneNum.Text    = lang.phoneNum();
            this.label_address.Text     = lang.address();
            this.button_ok.Text         = lang.ok();
            this.button_cancle.Text     = lang.cancle();
            #endregion

            this.textBox_name.Text     = DataMngr.m_old_PatientInfo.name;
            this.textBox_age.Text      = DataMngr.m_old_PatientInfo.age;
            this.textBox_height.Text   = DataMngr.m_old_PatientInfo.height;
            this.textBox_weight.Text   = DataMngr.m_old_PatientInfo.weight;
            this.textBox_phoneNum.Text = DataMngr.m_old_PatientInfo.phoneNum;
            this.textBox_adress.Text   = DataMngr.m_old_PatientInfo.adress;
            if (DataMngr.m_old_PatientInfo.gender == "女")
            {
                this.radioButton_femal.Checked = true;
            }
            else
            {
                this.radioButton_male.Checked = true;
            }
            this.StartPosition = FormStartPosition.CenterScreen;
        }
コード例 #9
0
        private void button_ok_Click(object sender, EventArgs e)
        {
            PATIENT_INFO info = new PATIENT_INFO();

            info.name     = this.textBox_name.Text.Trim();
            info.age      = this.textBox_age.Text.Trim();
            info.gender   = this.radioButton_male.Checked?"男":"女";
            info.height   = this.textBox_height.Text.Trim();
            info.weight   = this.textBox_weight.Text.Trim();
            info.phoneNum = this.textBox_phoneNum.Text.Trim();
            info.adress   = this.textBox_adress.Text.Trim();

            DataMngr.m_old_PatientInfo = info;
            //姓名,年龄,性别为必填
            #region
            string str_errHeight      = "";
            string str_errWeight      = "";
            string str_errPhoneNum    = "";
            bool   b_HeightInfo_Right = true;
            bool   b_WeightInfo_Right = true;
            bool   b_PhoneNum_Right   = true;

            //如果姓名年龄都填了
            if (info.name != "" && info.age != "")
            {
                //判断年龄是否填正确,范围0-300
                #region
                double result          = -1;
                string str_errAge      = "";
                bool   b_AgeInfo_Right = true;
                if (!isNumberic(info.age, ref result))
                {
                    str_errAge      = LanguageMngr.errAge();
                    b_AgeInfo_Right = false;
                }
                else
                {
                    if (result <= 0.0 || result >= 300.0)
                    {
                        str_errAge      = LanguageMngr.errAge();
                        b_AgeInfo_Right = false;
                    }
                }
                #endregion

                //如果年龄填正确了,身高,体重,电话号码,地址都为空
                #region
                if (info.height == "" && info.weight == "" && info.phoneNum == "" && info.adress == "")
                {
                    if (b_HeightInfo_Right && b_WeightInfo_Right && b_PhoneNum_Right && b_AgeInfo_Right)
                    {
                        if (PatientInfo != null) //判断事件是否为空
                        {
                            PatientInfo(info);   //执行委托实例
                            this.DialogResult = DialogResult.OK;
                            this.Close();
                        }
                    }
                    else
                    {
                        //str_errAge = LanguageMngr.errAge();
                        //str_errHeight = LanguageMngr.errHeight();
                        //str_errWeight = LanguageMngr.errWeight();
                        //str_errPhoneNum = LanguageMngr.errPhoneNum();
                        MessageBox.Show(LanguageMngr.pls_fill_in_right() + str_errAge + " " + str_errHeight + " " + str_errWeight + " " + str_errPhoneNum);
                        return;
                    }
                    #region
                    if (PatientInfo != null) //判断事件是否为空
                    {
                        PatientInfo(info);   //执行委托实例
                        this.DialogResult = DialogResult.OK;
                        this.Close();
                    }
                    #endregion
                }
                else
                {
                    //如果年龄填正确了,身高,体重,电话号码,地址有一个或多个不为空
                    #region
                    //如果填写了身高,对填写的信息进行判断
                    #region
                    if (info.height != "")
                    {
                        //先校验书写的是否是数字
                        double db_Heihgt_result = -1.0;
                        if (isNumberic(info.height, ref db_Heihgt_result))
                        {
                            //如果为数字,判断范围是否在0-500
                            if (db_Heihgt_result <= 0.0 || db_Heihgt_result >= 500.0)
                            {
                                b_HeightInfo_Right = false;
                                str_errHeight      = LanguageMngr.errHeight();
                            }
                        }
                        else
                        {
                            b_HeightInfo_Right = false;
                            str_errHeight      = LanguageMngr.errHeight();
                        }
                    }
                    #endregion

                    //如果填写了体重,对填写的信息进行判断,0-500kg
                    #region
                    if (info.weight != "")
                    {
                        //先校验书写的是否是数字
                        double db_Weight_result = -1.0;
                        if (isNumberic(info.weight, ref db_Weight_result))
                        {
                            if (db_Weight_result <= 0.0 || db_Weight_result >= 500.0)
                            {
                                b_WeightInfo_Right = false;
                                str_errWeight      = LanguageMngr.errWeight();
                            }
                        }
                        else
                        {
                            b_WeightInfo_Right = false;
                            str_errWeight      = LanguageMngr.errWeight();
                        }
                    }
                    #endregion

                    //如果填写了电话号码,对填写的信息进行判断
                    #region
                    if (info.phoneNum != "")
                    {
                        //先校验书写的是否是数字
                        if (!isPhoneNum(info.phoneNum))
                        {
                            b_PhoneNum_Right = false;
                            str_errPhoneNum  = LanguageMngr.errPhoneNum();
                        }
                    }
                    #endregion

                    //如果身高,体重,年龄都正确,就执行委托
                    #region
                    if (b_HeightInfo_Right && b_WeightInfo_Right && b_PhoneNum_Right && b_AgeInfo_Right)
                    {
                        if (PatientInfo != null) //判断事件是否为空
                        {
                            PatientInfo(info);   //执行委托实例
                            this.DialogResult = DialogResult.OK;
                            this.Close();
                        }
                    }
                    else
                    {
                        //str_errAge = LanguageMngr.errAge();
                        //str_errHeight = LanguageMngr.errHeight();
                        //str_errWeight = LanguageMngr.errWeight();
                        //str_errPhoneNum = LanguageMngr.errPhoneNum();
                        MessageBox.Show(LanguageMngr.pls_fill_in_right() + str_errAge + " " + str_errHeight + " " + str_errWeight + " " + str_errPhoneNum);
                        return;
                    }
                    #endregion

                    #endregion
                }
                #endregion
            }
            else
            {
                //姓名,年龄没有填完全
                MessageBox.Show(LanguageMngr.pls_fill_up_name_and_age());
            }
            #endregion
        }
コード例 #10
0
        public static void InitWorkDataList(DateTime tmLow, DateTime tmHigh)
        {
            DateTime     tmBegin = new DateTime(tmLow.Year, tmLow.Month, tmLow.Day, 0, 0, 0);
            DateTime     tmEnd   = new DateTime(tmHigh.Year, tmHigh.Month, tmHigh.Day, 23, 59, 59);
            LanguageMngr lang    = new LanguageMngr();

            if (DataMngr.m_advanceMode)
            {
                m_WorkData_List = new List <WorkData>();
                #region
                int i = 1;
                foreach (KeyValuePair <WORK_INFO_HEAD, List <WORK_INFO_MESSAGE> > kv in FileMngr.m_workHead_Msg_Map)
                {
                    //if (kv.Value.Count == 0)
                    //{
                    //    return;
                    //}
                    //先判断,减少不必要的foreach (var workDataMsg in list)
                    var list = kv.Value;
                    //if (list.Count == 0)
                    //    continue;
                    WORK_INFO_MESSAGE msg   = list[0];
                    DateTime          msgTm = new DateTime(100 * Convert.ToInt32(msg.YEAR1) + Convert.ToInt32(msg.YEAR2),
                                                           Convert.ToInt32(msg.MONTH), Convert.ToInt32(msg.DAY), 23, 59, 59);
                    if (msgTm < tmBegin || msgTm > tmEnd)
                    {
                        continue;
                    }

                    #region
                    foreach (var workDataMsg in list)
                    {
                        debug_cnt++;
                        debug_message = workDataMsg;
                        DateTime tmFromMsg = new DateTime(100 * Convert.ToInt32(workDataMsg.YEAR1) + Convert.ToInt32(workDataMsg.YEAR2),
                                                          Convert.ToInt32(workDataMsg.MONTH),
                                                          Convert.ToInt32(workDataMsg.DAY),
                                                          Convert.ToInt32(workDataMsg.HOUR),
                                                          Convert.ToInt32(workDataMsg.MINUTE),
                                                          Convert.ToInt32(workDataMsg.SECOND));
                        //if(tmFromMsg>=tmBegin&&tmFromMsg<=tmEnd)
                        {
                            //解析故障状态位,一共12位
                            int[] faultStates = new int[12];
                            #region
                            byte bt1 = workDataMsg.DATA_FAULT_STATUS_1;
                            byte bt2 = workDataMsg.DATA_FAULT_STATUS_2;

                            for (int j = 0; j < 8; j++)
                            {
                                if (Convert.ToInt32(bt1) % 2 == 1)
                                {
                                    faultStates[j] = 1;
                                }
                                else
                                {
                                    faultStates[j] = 0;
                                }
                                bt1 = (byte)(bt1 >> 1);
                            }

                            for (int j = 0; j < 3; j++)
                            {
                                if (Convert.ToInt32(bt2) % 2 == 1)
                                {
                                    faultStates[j + 8] = 1;
                                }
                                else
                                {
                                    faultStates[j + 8] = 0;
                                }
                                bt1 = (byte)(bt2 >> 1);
                            }
                            #endregion

                            //添加到链表中

                            WorkData wd = new WorkData(); //实例化一个WorkData
                            //填充信息,这里要改,要根据advanceMode和用户模式
                            #region
                            wd.No       = i.ToString();
                            wd.tm       = tmFromMsg.ToString("yyyy-MM-dd HH:mm:ss");
                            wd.set_mode = Convert.ToBoolean(workDataMsg.SET_MODE) ? lang.atomization() : lang.humidification();

                            wd.set_adault_or_child = Convert.ToBoolean(workDataMsg.SET_ADULT_OR_CHILDE) ? lang.child() : lang.adault();
                            wd.data_patient_tmp    = Convert.ToString(workDataMsg.DATA_PATIENT_TEMP);
                            wd.data_air_outlet_tmp = Convert.ToString(workDataMsg.DATA_AIR_OUTLET_TEMP);

                            wd.data_flow = Convert.ToString(workDataMsg.DATA_FLOW);
                            wd.data_oxy_concentration = Convert.ToString(workDataMsg.DATA_OXYGEN_CONCENTRATION);

                            //工程师模式下的扩展信息
                            #region
                            wd.set_tmp            = Convert.ToString(workDataMsg.SET_TEMP);
                            wd.set_flow           = Convert.ToString(workDataMsg.SET_FLOW);
                            wd.set_high_oxy_alarm = Convert.ToString(workDataMsg.SET_HIGH_OXYGEN_ALARM);
                            wd.set_low_oxy_alrm   = Convert.ToString(workDataMsg.SET_LOW_OXYGEN_ALARM);
                            wd.set_atomiz_level   = Convert.ToString(workDataMsg.SET_ATOMIZATION_LEVEL);
                            wd.set_atomiz_time    = Convert.ToString(workDataMsg.SET_ATOMIZATION_TIME);

                            wd.data_heating_plate_tmp = Convert.ToString(workDataMsg.DATA_HEATING_PLATE_TMP);
                            wd.data_env_tmp           = Convert.ToString(workDataMsg.DATA_ENVIRONMENT_TMP);
                            wd.data_driveboard_tmp    = Convert.ToString(workDataMsg.DATA_DRIVERBOARD_TMP);
                            wd.data_air_pressure      = Convert.ToString(workDataMsg.DATA_AIR_PRESSURE);
                            wd.data_loop_type         = Convert.ToString(workDataMsg.DATA_LOOP_TYPE);

                            wd.data_faultstates_0            = Convert.ToBoolean(faultStates[0]) ? "yes" : "no";
                            wd.data_faultstates_1            = Convert.ToBoolean(faultStates[1]) ? "yes" : "no";
                            wd.data_faultstates_2            = Convert.ToBoolean(faultStates[2]) ? "yes" : "no";
                            wd.data_faultstates_3            = Convert.ToBoolean(faultStates[3]) ? "yes" : "no";
                            wd.data_faultstates_4            = Convert.ToBoolean(faultStates[4]) ? "yes" : "no";
                            wd.data_faultstates_5            = Convert.ToBoolean(faultStates[5]) ? "yes" : "no";
                            wd.data_faultstates_6            = Convert.ToBoolean(faultStates[6]) ? "yes" : "no";
                            wd.data_faultstates_7            = Convert.ToBoolean(faultStates[7]) ? "yes" : "no";
                            wd.data_faultstates_8            = Convert.ToBoolean(faultStates[8]) ? "yes" : "no";
                            wd.data_faultstates_9            = Convert.ToBoolean(faultStates[9]) ? "yes" : "no";
                            wd.data_faultstates_10           = Convert.ToBoolean(faultStates[10]) ? "yes" : "no";
                            wd.data_faultstates_11           = Convert.ToBoolean(faultStates[11]) ? "yes" : "no";
                            wd.data_atmoz_DAC_L              = Convert.ToString(workDataMsg.DATA_ATOMIZ_DACVALUE_L);
                            wd.data_atmoz_DAC_H              = Convert.ToString(workDataMsg.DATA_ATOMIZ_DACVALUE_H);
                            wd.data_atmoz_ADC_L              = Convert.ToString(workDataMsg.DATA_ATOMIZ_ADCVALUE_L);
                            wd.data_atmoz_ADC_H              = Convert.ToString(workDataMsg.DATA_ATOMIZ_ADCVALUE_H);
                            wd.data_loop_heating_PWM_L       = Convert.ToString(workDataMsg.DATA_LOOP_HEATING_PWM_L);
                            wd.data_loop_heating_PWM_H       = Convert.ToString(workDataMsg.DATA_LOOP_HEATING_PWM_H);
                            wd.data_loop_heating_ADC_L       = Convert.ToString(workDataMsg.DATA_LOOP_HEATING_ADC_L);
                            wd.data_loop_heating_ADC_H       = Convert.ToString(workDataMsg.DATA_LOOP_HEATING_ADC_H);
                            wd.data_loop_heating_plate_PWM_L = Convert.ToString(workDataMsg.DATA_HEATING_PLATE_PWM_L);
                            wd.data_loop_heating_plate_PWM_H = Convert.ToString(workDataMsg.DATA_HEATING_PLATE_PWM_H);
                            wd.data_loop_heating_plate_ADC_L = Convert.ToString(workDataMsg.DATA_HEATING_PLATE_ADC_L);
                            wd.data_loop_heating_plate_ADC_H = Convert.ToString(workDataMsg.DATA_HEATING_PLATE_ADC_H);
                            wd.data_main_motor_drive_L       = Convert.ToString(workDataMsg.DATA_MAIN_MOTOR_DRIVER_L);
                            wd.data_main_motor_drive_H       = Convert.ToString(workDataMsg.DATA_MAIN_MOTOR_DRIVER_H);
                            wd.data_main_motor_speed_L       = Convert.ToString(workDataMsg.DATA_MAIN_MOTOR_SPEED_L);
                            wd.data_main_motor_speed_H       = Convert.ToString(workDataMsg.DATA_MAIN_MOTOR_SPEED_H);
                            wd.data_press_sensor_ADC_L       = Convert.ToString(workDataMsg.DATA_PRESS_SENSOR_ADC_L);
                            wd.data_press_sensor_ADC_H       = Convert.ToString(workDataMsg.DATA_PRESS_SENSOR_ADC_H);
                            wd.data_waterlevel_sensor_HADC_L = Convert.ToString(workDataMsg.DATA_WATERLEVEL_SENSOR_HADC_L);
                            wd.data_waterlevel_sensor_HADC_H = Convert.ToString(workDataMsg.DATA_WATERLEVEL_SENSOR_HADC_H);
                            wd.data_waterlevel_sensor_LADC_L = Convert.ToString(workDataMsg.DATA_WATERLEVEL_SENSOR_LADC_L);
                            wd.data_waterlevel_sensor_LADC_H = Convert.ToString(workDataMsg.DATA_WATERLEVEL_SENSOR_LADC_H);
                            wd.data_fan_driver_L             = Convert.ToString(workDataMsg.DATA_FAN_DRIVER_L);
                            wd.data_fan_driver_H             = Convert.ToString(workDataMsg.DATA_FAN_DRIVER_H);
                            wd.data_fan_speed_L              = Convert.ToString(workDataMsg.DATA_FAN_SPEED_L);
                            wd.data_fan_speed_H              = Convert.ToString(workDataMsg.DATA_FAN_SPEED_H);
                            wd.data_main_motor_tmp_ADC_L     = Convert.ToString(workDataMsg.DATA_MAIN_MOTOR_TMP_ADC_L); //新增
                            wd.data_main_motor_tmp_ADC_H     = Convert.ToString(workDataMsg.DATA_MAIN_MOTOR_TMP_ADC_H);
                            wd.data_dewpoint_tmp             = Convert.ToString(workDataMsg.DATA_DEWPOINT_TMP);
                            #endregion

                            #endregion

                            ////debug,使用构造函数,速度还是不够快
                            #region
                            //WorkData wd = new WorkData(i.ToString(),
                            //                        tmFromMsg.ToString("yyyy-MM-dd HH:mm:ss"),
                            //                        Convert.ToBoolean(workDataMsg.SET_MODE) ? "雾化" : "湿化",
                            //                        Convert.ToString(workDataMsg.SET_TEMP),
                            //                        Convert.ToString(workDataMsg.SET_FLOW),
                            //                        Convert.ToString(workDataMsg.SET_HIGH_OXYGEN_ALARM),
                            //                        Convert.ToString(workDataMsg.SET_LOW_OXYGEN_ALARM),
                            //                        Convert.ToString(workDataMsg.SET_ATOMIZATION_LEVEL),
                            //                        Convert.ToString(workDataMsg.SET_ATOMIZATION_TIME),
                            //                        Convert.ToBoolean(workDataMsg.SET_ADULT_OR_CHILDE) ? "儿童" : "成人",
                            //                        Convert.ToString(workDataMsg.DATA_PATIENT_TEMP),
                            //                        Convert.ToString(workDataMsg.DATA_AIR_OUTLET_TEMP),
                            //                        Convert.ToString(workDataMsg.DATA_HEATING_PLATE_ADC_H),
                            //                        Convert.ToString(workDataMsg.DATA_ENVIRONMENT_TMP),
                            //                        Convert.ToString(workDataMsg.DATA_DRIVERBOARD_TMP),
                            //                        Convert.ToString(workDataMsg.DATA_FLOW),
                            //                        Convert.ToString(workDataMsg.DATA_OXYGEN_CONCENTRATION),
                            //                        Convert.ToString(workDataMsg.DATA_AIR_PRESSURE),
                            //                        Convert.ToString(workDataMsg.DATA_LOOP_TYPE),
                            //                        Convert.ToBoolean(faultStates[0]) ? "yes" : "no",
                            //                        Convert.ToBoolean(faultStates[1]) ? "yes" : "no",
                            //                        Convert.ToBoolean(faultStates[2]) ? "yes" : "no",
                            //                        Convert.ToBoolean(faultStates[3]) ? "yes" : "no",
                            //                        Convert.ToBoolean(faultStates[4]) ? "yes" : "no",
                            //                        Convert.ToBoolean(faultStates[5]) ? "yes" : "no",
                            //                        Convert.ToBoolean(faultStates[6]) ? "yes" : "no",
                            //                        Convert.ToBoolean(faultStates[7]) ? "yes" : "no",
                            //                        Convert.ToBoolean(faultStates[8]) ? "yes" : "no",
                            //                        Convert.ToBoolean(faultStates[9]) ? "yes" : "no",
                            //                        Convert.ToBoolean(faultStates[10]) ? "yes" : "no",
                            //                        Convert.ToBoolean(faultStates[11]) ? "yes" : "no",
                            //                        Convert.ToString(workDataMsg.DATA_ATOMIZ_DACVALUE_L),
                            //                        Convert.ToString(workDataMsg.DATA_ATOMIZ_DACVALUE_H),
                            //                        Convert.ToString(workDataMsg.DATA_ATOMIZ_ADCVALUE_L),
                            //                        Convert.ToString(workDataMsg.DATA_ATOMIZ_ADCVALUE_H),
                            //                        Convert.ToString(workDataMsg.DATA_LOOP_HEATING_PWM_L),
                            //                        Convert.ToString(workDataMsg.DATA_LOOP_HEATING_PWM_H),
                            //                        Convert.ToString(workDataMsg.DATA_LOOP_HEATING_ADC_L),
                            //                        Convert.ToString(workDataMsg.DATA_LOOP_HEATING_ADC_H),
                            //                        Convert.ToString(workDataMsg.DATA_HEATING_PLATE_PWM_L),
                            //                        Convert.ToString(workDataMsg.DATA_HEATING_PLATE_PWM_H),
                            //                        Convert.ToString(workDataMsg.DATA_HEATING_PLATE_ADC_L),
                            //                        Convert.ToString(workDataMsg.DATA_HEATING_PLATE_ADC_H),
                            //                        Convert.ToString(workDataMsg.DATA_MAIN_MOTOR_DRIVER_L),
                            //                        Convert.ToString(workDataMsg.DATA_MAIN_MOTOR_DRIVER_H),
                            //                        Convert.ToString(workDataMsg.DATA_MAIN_MOTOR_SPEED_L),
                            //                        Convert.ToString(workDataMsg.DATA_MAIN_MOTOR_SPEED_H),
                            //                        Convert.ToString(workDataMsg.DATA_PRESS_SENSOR_ADC_L),
                            //                        Convert.ToString(workDataMsg.DATA_PRESS_SENSOR_ADC_H),
                            //                        Convert.ToString(workDataMsg.DATA_WATERLEVEL_SENSOR_HADC_L),
                            //                        Convert.ToString(workDataMsg.DATA_WATERLEVEL_SENSOR_HADC_H),
                            //                        Convert.ToString(workDataMsg.DATA_WATERLEVEL_SENSOR_LADC_L),
                            //                        Convert.ToString(workDataMsg.DATA_WATERLEVEL_SENSOR_LADC_H),
                            //                        Convert.ToString(workDataMsg.DATA_FAN_DRIVER_L),
                            //                        Convert.ToString(workDataMsg.DATA_FAN_DRIVER_H),
                            //                        Convert.ToString(workDataMsg.DATA_FAN_SPEED_L),
                            //                        Convert.ToString(workDataMsg.DATA_FAN_SPEED_H));
                            #endregion

                            WorkDataList.m_WorkData_List.Add(wd);
                            //myCache1.Add(lvi);
                            i++;
                        }
                    }
                    #endregion
                }
                m_nCount       = i - 1;                               //一共有多少行
                m_nPageSize    = 35;                                  //每一页有多少行
                m_nPageCount   = m_nCount / m_nPageSize;
                m_nPageCount  += m_nCount % m_nPageSize != 0 ? 1 : 0; //一共有多少页
                m_nCurrentPage = 1;                                   //当前页为0
                //m_firstPageclicked = false;
                //m_endPageclicked = false;
                #endregion
            }
            else
            {
                m_WorkData_Basic_List = new List <WorkData_Basic>();
                #region
                int i = 1;
                foreach (KeyValuePair <WORK_INFO_HEAD, List <WORK_INFO_MESSAGE> > kv in FileMngr.m_workHead_Msg_Map)
                {
                    //先判断,减少不必要的foreach (var workDataMsg in list)
                    var list = kv.Value;
                    //if (list.Count == 0)
                    //{
                    //    continue;
                    //}
                    WORK_INFO_MESSAGE msg   = list[0];
                    DateTime          msgTm = new DateTime(100 * Convert.ToInt32(msg.YEAR1) + Convert.ToInt32(msg.YEAR2),
                                                           Convert.ToInt32(msg.MONTH), Convert.ToInt32(msg.DAY), 23, 59, 59);
                    if (msgTm < tmBegin || msgTm > tmEnd)
                    {
                        continue;
                    }

                    #region

                    foreach (var workDataMsg in list)
                    {
                        DateTime tmFromMsg = new DateTime(100 * Convert.ToInt32(workDataMsg.YEAR1) + Convert.ToInt32(workDataMsg.YEAR2),
                                                          Convert.ToInt32(workDataMsg.MONTH),
                                                          Convert.ToInt32(workDataMsg.DAY),
                                                          Convert.ToInt32(workDataMsg.HOUR),
                                                          Convert.ToInt32(workDataMsg.MINUTE),
                                                          Convert.ToInt32(workDataMsg.SECOND));
                        //if(tmFromMsg>=tmBegin&&tmFromMsg<=tmEnd)
                        {
                            //添加到链表中
                            //WorkData_Basic wd = new WorkData_Basic(); //实例化一个WorkData_Basic
                            //#region
                            //wd.No = i.ToString();
                            //wd.tm = tmFromMsg.ToString("yyyy-MM-dd HH:mm:ss");
                            //wd.set_mode = Convert.ToBoolean(workDataMsg.SET_MODE) ? "雾化" : "湿化";
                            //wd.set_adault_or_child = Convert.ToBoolean(workDataMsg.SET_ADULT_OR_CHILDE) ? "儿童" : "成人";
                            //wd.data_patient_tmp = Convert.ToString(workDataMsg.DATA_PATIENT_TEMP);
                            //wd.data_air_outlet_tmp = Convert.ToString(workDataMsg.DATA_AIR_OUTLET_TEMP);
                            //wd.data_flow = Convert.ToString(workDataMsg.DATA_FLOW);
                            //wd.data_oxy_concentration = Convert.ToString(workDataMsg.DATA_OXYGEN_CONCENTRATION);
                            //#endregion


                            WorkData_Basic wd = new WorkData_Basic(i.ToString(),
                                                                   tmFromMsg.ToString("yyyy-MM-dd HH:mm:ss"),
                                                                   Convert.ToBoolean(workDataMsg.SET_MODE) ? lang.atomization() : lang.humidification(),
                                                                   Convert.ToBoolean(workDataMsg.SET_ADULT_OR_CHILDE) ? lang.child() : lang.adault(),
                                                                   Convert.ToString(workDataMsg.DATA_PATIENT_TEMP),
                                                                   Convert.ToString(workDataMsg.DATA_AIR_OUTLET_TEMP),
                                                                   Convert.ToString(workDataMsg.DATA_FLOW),
                                                                   Convert.ToString(workDataMsg.DATA_OXYGEN_CONCENTRATION),
                                                                   Convert.ToString(workDataMsg.DATA_DEWPOINT_TMP));

                            WorkDataList.m_WorkData_Basic_List.Add(wd);
                            i++;
                        }
                    }
                    #endregion
                }
                m_nCount       = i - 1;                               //一共有多少行
                m_nPageSize    = 35;                                  //每一页有多少行
                m_nPageCount   = m_nCount / m_nPageSize;
                m_nPageCount  += m_nCount % m_nPageSize != 0 ? 1 : 0; //一共有多少页
                m_nCurrentPage = 1;                                   //当前页为0
                //m_firstPageclicked = false;
                //m_endPageclicked = false;
                #endregion
            }
        }
コード例 #11
0
        public ActionResult Login(AuthViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = _authService.Authenticate(model.Email, SecurityUtil.EncryptPassword(model.Password));
                if (user != null)
                {
                    if (!user.Status)
                    {
                        ViewBag.Error = Resources.ErrorMessages.UserInactive;
                        return(View(model));
                    }
                    user.LastLoginAt = DateTime.Now;
                    _userService.Update(user);

                    //Permissions by role
                    List <Permission> permissionsUser = user.Role.Permissions.Select(p => new Permission
                    {
                        Action     = p.Action,
                        Controller = p.Controller,
                        Module     = p.Module
                    }).ToList();

                    //IF SUPPORT, SET ALL PERMISSIONS
                    if (user.Role.Code == Constants.ROLE_IT_SUPPORT)
                    {
                        permissionsUser = _permissionService.GetAll().Select(p => new Permission
                        {
                            Action     = p.Action,
                            Controller = p.Controller,
                            Module     = p.Module
                        }).ToList();
                    }

                    AuthUser authUser = new AuthUser
                    {
                        Id                 = user.Id,
                        FirstName          = user.FirstName,
                        LastName           = user.LastName,
                        Email              = user.Email,
                        Language           = user.Language,
                        Uuid               = user.Uuid,
                        PasswordExpiration = user.PasswordExpiration,
                        Role               = new Role
                        {
                            Code = user.Role.Code,
                            Name = user.Role.Name
                        },
                        Permissions = permissionsUser
                    };

                    //Set user in sesion
                    Authenticator.StoreAuthenticatedUser(authUser);

                    //Set Language
                    LanguageMngr.SetDefaultLanguage();
                    if (!string.IsNullOrEmpty(authUser.Language))
                    {
                        LanguageMngr.SetLanguage(authUser.Language);
                    }

                    if (user.PasswordExpiration.HasValue)
                    {
                        DateTime passwordExpiration = user.PasswordExpiration.Value;
                        DateTime todayDate          = DateUtil.GetDateTimeNow();
                        if (user.PasswordExpiration.Value.Date < todayDate.Date)
                        {
                            return(RedirectToAction("ChangePassword", "Auth"));
                        }
                        string daysBeforeExpireToNotifyConfig = ConfigurationManager.AppSettings["DaysBeforeExpireToNotify"];
                        int    daysBeforeExpireToNotify       = 0;
                        if (Int32.TryParse(daysBeforeExpireToNotifyConfig, out daysBeforeExpireToNotify))
                        {
                            int daysLeft = ((TimeSpan)(passwordExpiration.Date - todayDate.Date)).Days + 1;
                            if (daysLeft <= daysBeforeExpireToNotify)
                            {
                                string message = String.Format(ViewLabels.PASSWORD_EXPIRATION_MESSAGE, daysLeft);
                                AddViewMessage(TypeMessageView.WARNING, message);
                            }
                        }
                    }
                    if (!string.IsNullOrEmpty(Request.Form["ReturnUrl"]))
                    {
                        return(Redirect(Request.Form["ReturnUrl"]));
                    }
                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    AddViewMessage(TypeMessageView.ERROR, ErrorMessages.UserNotExistsOrPasswordInvalid);
                }
            }

            return(View(model));
        }
コード例 #12
0
 public ActionResult ChangeLanguage(string lang)
 {
     LanguageMngr.SetLanguage(lang);
     return(RedirectToAction("Index", "Home"));
 }
コード例 #13
0
 //<summary>Recibe la peticion del servidor antes de que llegue al controlador para iniciar el lenguage de la aplicacion.</summary>
 /// <param name="cancellationToken"></param>
 /// <param name="request">Objeto que contiene informacion de las peticiones.</param>
 /// <returns>Respuesta del servidor</returns>
 protected override async System.Threading.Tasks.Task <HttpResponseMessage> SendAsync(HttpRequestMessage request, System.Threading.CancellationToken cancellationToken)
 {
     LanguageMngr.SetDefaultLanguage();
     return(await base.SendAsync(request, cancellationToken));
 }