Ejemplo n.º 1
0
        public CabinetModel Put(CabinetModel model)
        {
            var cabinet = dbContext.Cabinets
                          .Include(c => c.Medications)
                          .FirstOrDefault(m => m.Id == model.Id);

            if (cabinet == null)
            {
                throw new HttpResponseException(HttpStatusCode.NotFound);
            }
            cabinet.Name        = model.Name ?? cabinet.Name;
            cabinet.LastUpdated = DateTime.Now;
            if (model.Medications != null)
            {
                // Remove all medications from the cabinet
                foreach (var dbMedication in cabinet.Medications)
                {
                    dbContext.Remove(dbMedication);
                }
                // Re-populate the cabinet
                cabinet.Medications = model.Medications.Select(m => m.ToDbMedication()).ToList();
            }
            dbContext.Commit();
            return(Get(model.Id));
        }
        public HttpResponseMessage ScanVerification(CabinetModel model)
        {
            string Result = string.Empty;

            try
            {
                //请求中包含的固定参数
                model.SOURCE      = ParametersFilter.FilterSqlHtml(model.SOURCE, 24);
                model.CREDENTIALS = ParametersFilter.FilterSqlHtml(model.CREDENTIALS, 24);
                model.ADDRESS     = HttpHelper.IPAddress();
                model.TERMINAL    = ParametersFilter.FilterSqlHtml(model.TERMINAL, 1);
                model.INDEX       = ParametersFilter.FilterSqlHtml(model.INDEX, 24);
                model.METHOD      = ParametersFilter.FilterSqlHtml(model.METHOD, 24);

                //去除用户参数中包含的特殊字符
                model.QRCODE = ParametersFilter.StripSQLInjection(model.QRCODE);

                //返回结果
                Result = ApiHelper.HttpRequest(username, password, Url, model);
            }
            catch (Exception ex)
            {
                LogHelper.LogError(ex.ToString());
            }

            HttpResponseMessage Respend = new HttpResponseMessage {
                Content = new StringContent(Result, Encoding.GetEncoding("UTF-8"), "application/json")
            };

            return(Respend);
        }
Ejemplo n.º 3
0
        public void FirstRun()
        {
            string ApplicationDataDirectory     = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), _appName);
            string BaseConfigurationFilename    = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), _appName, "BaseConfig.json");
            string CabinetConfigurationFilename = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), _appName, "CabinetConfig.json");
            string CabinetFilesDirectory        = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), _appName);
            string ExcelExportDirectory         = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), _appName);

            if (!Directory.Exists(ApplicationDataDirectory))
            {
                Directory.CreateDirectory(ApplicationDataDirectory);
            }

            if (!Directory.Exists(CabinetFilesDirectory))
            {
                Directory.CreateDirectory(CabinetFilesDirectory);
            }

            if (!Directory.Exists(ExcelExportDirectory))
            {
                Directory.CreateDirectory(ExcelExportDirectory);
            }

            if (!File.Exists(BaseConfigurationFilename))
            {
                var baseConf = new BaseConfiguration
                {
                    cabinetFilesDirectory = CabinetFilesDirectory,
                    excelExportDirectory  = ExcelExportDirectory
                };
                synchrontization.BaseSave(baseConf);
            }

            if (!File.Exists(CabinetConfigurationFilename))
            {
                var cabConf = new CabinetModel
                {
                    name        = "Default",
                    height      = 720,
                    width       = 600,
                    depth       = 510,
                    sizeElement = 18,
                    back        = 3,
                    enumFront   = 9,
                    Slots       = new Slots
                    {
                        Left                = 3,
                        Right               = 3,
                        Bottom              = 3,
                        Top                 = 3,
                        BetweenCabinet      = 2,
                        BetweenHorizontally = 3,
                        BetweenVertically   = 3
                    }
                };

                synchrontization.CabSave(cabConf);
            }
        }
Ejemplo n.º 4
0
 public void verifyStandardCabinet(CabinetModel cabinet, int id)
 {
     Assert.AreEqual(id, cabinet.Id);
     Assert.AreEqual(3, cabinet.Medications.Count());
     foreach (var medication in cabinet.Medications)
     {
         verifyStandardMedication(medication, medication.Id);
     }
 }
Ejemplo n.º 5
0
 public static void materializeCabinet(CabinetModel cabinet)
 {
     // Underlying database will materialize result.Medications but our mock does not, so materialize it here
     cabinet.Medications = cabinet.Medications.ToList();
     // Underlying database will set IDs but our mock does not, so reset them prior to verifying cabinet
     foreach (var medication in cabinet.Medications)
     {
         materializeMedication(medication);
     }
 }
Ejemplo n.º 6
0
        public CabinetModel Post(CabinetModel model)
        {
            if (!dbContext.Users.Any(u => u.Id == model.UserId))
            {
                throw new HttpResponseException(HttpStatusCode.NotFound);
            }
            var cabinet = model.ToDbCabinet();

            dbContext.Add(cabinet);
            dbContext.Commit();
            return(Get(cabinet.Id));
        }
Ejemplo n.º 7
0
        public ActionResult Cabinet()
        {
            CabinetModel cabinet = new CabinetModel();

            using (var db = new QuestionContext())
            {
                cabinet.tests = db.Tests.ToList();
            }

            using (var db = new SaveContext())
            {
                cabinet.RSM = db.Save.Where(x => x.UserName == HttpContext.User.Identity.Name).ToList();
            }

            return(View(cabinet));
        }
        public HttpResponseMessage CounterLogin(CabinetModel model)
        {
            string Result = string.Empty;

            try
            {
                //请求中包含的固定参数
                model.SOURCE      = ParametersFilter.FilterSqlHtml(model.SOURCE, 24);
                model.CREDENTIALS = ParametersFilter.FilterSqlHtml(model.CREDENTIALS, 24);
                model.ADDRESS     = HttpHelper.IPAddress();
                model.TERMINAL    = ParametersFilter.FilterSqlHtml(model.TERMINAL, 1);
                model.INDEX       = ParametersFilter.FilterSqlHtml(model.INDEX, 24);
                model.METHOD      = ParametersFilter.FilterSqlHtml(model.METHOD, 24);

                //去除用户参数中包含的特殊字符
                model.DATA = ParametersFilter.StripSQLInjection(model.DATA);
                if (model.TERMINAL == "2")
                {
                    model.DATA = System.Web.HttpUtility.UrlEncode(model.DATA);
                }

                //返回结果
                Result = ApiHelper.HttpRequest(username, password, Url, model);

                ///写日志
                string RequestAction = "api/" + username + "/" + HttpContext.Current.Request.RequestContext.RouteData.Values["action"].ToString() + ":";
                LogHelper.LogResopnse(RequestAction + Result);
            }
            catch (Exception ex)
            {
                LogHelper.LogError(ex.ToString());
            }

            HttpResponseMessage Respend = new HttpResponseMessage {
                Content = new StringContent(Result, Encoding.GetEncoding("UTF-8"), "application/json")
            };

            return(Respend);
        }
Ejemplo n.º 9
0
        public CabinetModel GetCabinet(string login)
        {
            CabinetModel cabinet = new CabinetModel();

            using (SqlConnection conn = new SqlConnection(_connectionStringCabinet))
            {
                conn.Open();

                SqlCommand cmd = new SqlCommand("dbo.GetAgentByLogin", conn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@login", login);
                SqlDataReader reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    cabinet.AgentId    = reader["Id"] != DBNull.Value ? Convert.ToInt32(reader["Id"]) : 0;
                    cabinet.AgentName  = reader["Name"] != DBNull.Value ? Convert.ToString(reader["Name"]) : string.Empty;
                    cabinet.QueryCount = reader["QueryCount"] != DBNull.Value ? Convert.ToInt32(reader["QueryCount"]) : 0;
                    cabinet.Query      = reader["Query"] != DBNull.Value ? Convert.ToInt32(reader["Query"]) : 0;
                    cabinet.IsTest     = reader["IsTest"] != DBNull.Value ? Convert.ToBoolean(reader["IsTest"]) : false;
                }
            }
            return(cabinet);
        }
Ejemplo n.º 10
0
 public void CabSave(CabinetModel cabConf)
 {
     File.WriteAllText(CabinetConfigurationFilename, JsonConvert.SerializeObject(cabConf, Formatting.Indented));
 }
Ejemplo n.º 11
0
 public Config()
 {
     FirstRun();
     _baseConfiguration = synchrontization.BaseRead();
     _cabinetModel      = synchrontization.CabRead();
 }