Exemplo n.º 1
0
        public static async Task <HttpResponseMessage> Run(HttpRequestMessage req, TraceWriter log)
        {
            log.Info("C# HTTP trigger function processed a request.");

            ExhibitData entry = await req.Content.ReadAsAsync <ExhibitData>();

            if (entry == null)
            {
                // were they sent in query?
                var parameters = req.GetQueryNameValuePairs().ToList();

                var name        = parameters.Where(parameter => parameter.Key == "Name").Select(parameter => parameter.Value);
                var description = parameters.Where(parameter => parameter.Key == "Description").Select(parameter => parameter.Value);
                var created     = parameters.Where(parameter => parameter.Key == "Created").Select(parameter => parameter.Value);
                var typeid      = parameters.Where(parameter => parameter.Key == "TypeId").Select(parameter => parameter.Value);

                if (name.Count() == 1 && description.Count() == 1 && created.Count() == 1 && typeid.Count() == 1)
                {
                    entry = new ExhibitData
                    {
                        Name        = name.First(),
                        Description = description.First(),
                        Created     = DateTime.Parse(created.First()),
                        TypeId      = byte.Parse(typeid.First()),
                    };
                }
                else
                {
                    return(req.CreateResponse(HttpStatusCode.BadRequest, "Please pass a valid ExhibitData in the request body"));
                }
            }

            try
            {
                using (var context = new DbContext(System.Environment.GetEnvironmentVariable("ArtHubConnectionString")))
                {
                    context.Database.Connection.Open();
                    context.Database.ExecuteSqlCommand(string.Format("INSERT INTO [dbo].[Exhibits] ([Name] ,[Description] ,[Created] ,[TypeId]) VALUES ('{0}' ,'{1}' ,'{2}' ,{3}) ", entry.Name, entry.Description, entry.Created, entry.TypeId));
                    context.Database.Connection.Close();
                }
            }
            catch (System.Data.Entity.Infrastructure.DbUpdateException ex)
            {
                log.Info(string.Format("Failure with database update {0}.", ex.Message));
                return(req.CreateResponse(HttpStatusCode.BadRequest, string.Format("Failure updating inventory.  Please verify the Name {0} Description {1} Created {2}  and TypeId {3} are correct.", entry.Name, entry.Description, entry.Created, entry.TypeId)));
            }
            catch (Exception ex)
            {
                log.Info(string.Format("Failure during processing {0}.", ex.Message));
                return(req.CreateResponse(HttpStatusCode.InternalServerError, "ArtHub Command api is currently not available."));
            }

            return(req.CreateResponse(HttpStatusCode.Created));
        }
Exemplo n.º 2
0
 private void LoadDatabases()
 {
     Loading            = true;
     ExhibitData        = new ExhibitData();
     LeaderboardData    = new LeaderboardData();
     AllLeaderboardData = new LeaderboardData();
     StartCoroutine(ExhibitData.GetData(ExhibitDatabasePath));
     StartCoroutine(AllLeaderboardData.GetData(AllLeaderboardDatabasePath));
     StartCoroutine(LeaderboardData.GetData(LeaderboardDatabasePath));
     StartCoroutine(CheckIsDoneParsing());
 }
Exemplo n.º 3
0
 public void GenerateJsonFileWithExhibits(Exhibit[] exhs)
 {
     CreateGameFiles();
     for (int i = 0; i < exhs.Length; i++)
     {
         ExhibitData ed = new ExhibitData();
         ed.id         = exhs[i].id;
         ed.isExplored = exhs[i].isExplored;
         save.exhibits.Add(ed);
     }
     SaveData();
     LoadData();
 }