예제 #1
0
        public static async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req,
            [CosmosDB("vnaaats-net", "fixes",
                      ConnectionStringSetting = "DbConnectionString")] IAsyncCollector <object> fixes,
            ILogger log)
        {
            try {
                // Get name
                string name = "";
                if (!string.IsNullOrWhiteSpace(req.Query["name"]))
                {
                    name = req.Query["name"].ToString().ToUpper();
                }
                // Get lat
                string lat = "0.0";
                if (!string.IsNullOrWhiteSpace(req.Query["lat"]) &&
                    double.TryParse(req.Query["lat"], out var res))
                {
                    lat = res.ToString();
                }
                // Get lon
                string lon = "0.0";
                if (!string.IsNullOrWhiteSpace(req.Query["lon"]) &&
                    double.TryParse(req.Query["lon"], out var res1))
                {
                    lon = res1.ToString();
                }

                // Catch bad format
                if (name == "" || lat == "0.0" || lon == "0.0")
                {
                    return(new BadRequestObjectResult("Invalid request. Ensure correct format: ?name=[string]&lat=[double]&lon=[double]."));
                }

                // We got here so generate new fix and add data object
                DBFix fix = new DBFix(name, lat, lon);
                await fixes.AddAsync(fix);

                // Log and return success code
                //log.LogInformation();
                return(new OkObjectResult($"Fix successfully added.\nName: {fix.name} \nLatitude: {fix.latitude}\nLongitude: {fix.longitude}"));
            }
            catch (Exception ex)
            {
                // Catch any errors
                log.LogError($"Could not insert waypoint. Exception thrown: {ex.Message}.");
                return(new StatusCodeResult(StatusCodes.Status500InternalServerError));
            }
        }
예제 #2
0
 public void Distribute(bool SelFlag, IData data)
 {
     if ((!SelFlag || (this.dgvDataView.SelectedRows.Count > 0)) || (data != null))
     {
         StringList sl = new StringList();
         IData data2 = null;
         List<string> lst = new List<string>();
         if (SelFlag)
         {
             for (int i = 0; this.dgvDataView.SelectedRows.Count > i; i++)
             {
                 lst.Add(this.dgvDataView.SelectedRows[i].Cells["clmID"].Value.ToString());
             }
         }
         bool flag = data == null;
         if (flag)
         {
             this.drProgress = new DeleteRestore(12);
             this.drProgress.Show();
             this.drProgress.Refresh();
         }
         try
         {
             string str;
             DataRow[] rowArray;
             IData data3 = null;
             if (data == null)
             {
                 DBFix dBFixStr = new DBFix {
                     JobCode = "",
                     OutCode = "",
                     UserCode = "",
                     Open = "1"
                 };
                 str = this.FixListString(dBFixStr, SelFlag, data, lst);
                 rowArray = this.dtsDataView.Tables["NACCS"].Select(str);
                 if (rowArray.Length == 0)
                 {
                     return;
                 }
                 this.drProgress.pgbRestore.Minimum = 0;
                 this.drProgress.pgbRestore.Maximum = rowArray.Length;
                 for (int k = 0; k < rowArray.Length; k++)
                 {
                     this.drProgress.pgbRestore.Value = k + 1;
                     this.drProgress.Refresh();
                     if (rowArray[k]["clFolder"].ToString() != "")
                     {
                         if (!this.ExistCheck(sl, rowArray[k]["clFolder"].ToString()))
                         {
                             sl.Add(rowArray[k]["clFolder"].ToString());
                         }
                         rowArray[k]["clFolder"] = "";
                         data3 = this.GetData(int.Parse(rowArray[k]["clID"].ToString()));
                         if (data3 == null)
                         {
                             rowArray[k].Delete();
                         }
                         else
                         {
                             data3.UserFolder = "";
                             this.DataViewDataSave(data3, rowArray[k]["clFileName"].ToString());
                         }
                     }
                 }
                 this.dtsDataView.AcceptChanges();
             }
             for (int j = this.DBFixList.Count - 1; j > -1; j--)
             {
                 for (int m = 0; m < this.DBFixList.Count; m++)
                 {
                     if (this.DBFixList[m].Priority == (j + 1))
                     {
                         str = this.FixListString(this.DBFixList[m], SelFlag, data, lst);
                         rowArray = this.dtsDataView.Tables["NACCS"].Select(str);
                         if (rowArray.Length != 0)
                         {
                             if (flag)
                             {
                                 this.drProgress.pgbRestore.Minimum = 0;
                                 this.drProgress.pgbRestore.Maximum = rowArray.Length;
                             }
                             for (int n = 0; n < rowArray.Length; n++)
                             {
                                 if (flag)
                                 {
                                     this.drProgress.pgbRestore.Value = n + 1;
                                     this.drProgress.Refresh();
                                 }
                                 if ((this.FOpenViewFlag && (rowArray[n]["clOpen"].ToString() == "0")) && (rowArray[n]["clFolder"].ToString() != this.DBFixList[m].Folder))
                                 {
                                     if ((rowArray[n]["clFolder"].ToString() != "") && !this.ExistCheck(sl, rowArray[n]["clFolder"].ToString()))
                                     {
                                         sl.Add(rowArray[n]["clFolder"].ToString());
                                     }
                                     if (!this.ExistCheck(sl, this.DBFixList[m].Folder))
                                     {
                                         sl.Add(this.DBFixList[m].Folder);
                                     }
                                 }
                                 rowArray[n]["clFolder"] = this.DBFixList[m].Folder;
                                 data2 = this.GetData(int.Parse(rowArray[n]["clID"].ToString()));
                                 if (data2 == null)
                                 {
                                     rowArray[n].Delete();
                                 }
                                 else
                                 {
                                     data2.UserFolder = this.DBFixList[m].Folder;
                                     this.DataViewDataSave(data2, rowArray[n]["clFileName"].ToString());
                                 }
                             }
                             this.dtsDataView.AcceptChanges();
                         }
                     }
                 }
             }
         }
         finally
         {
             this.dgvDataView.Refresh();
             this.stpCount();
             if (this.FOpenViewFlag)
             {
                 this.ViewCountCheck(true);
             }
             if (flag)
             {
                 this.drProgress.Close();
                 this.drProgress.Dispose();
             }
         }
     }
 }
예제 #3
0
 private string FixListString(DBFix DBFixStr, bool SelFlag, IData data, List<string> lst)
 {
     StringBuilder builder = new StringBuilder();
     builder.Append("clStatus = 'r' AND clDelete = 0");
     if (DBFixStr.JobCode != "")
     {
         builder.Append(" AND clJobCode = '").Append(DBFixStr.JobCode).Append("'");
     }
     if (DBFixStr.OutCode != "")
     {
         builder.Append(" AND clOutCode Like '%").Append(DBFixStr.OutCode).Append("%'");
     }
     if (DBFixStr.UserCode != "")
     {
         builder.Append(" AND clUserCode Like '%").Append(DBFixStr.UserCode).Append("%'");
     }
     if (DBFixStr.Open == "0")
     {
         builder.Append(" AND clOpen = '1'");
     }
     if (SelFlag)
     {
         builder.Append(" AND clID IN (");
         for (int i = 0; lst.Count > i; i++)
         {
             builder.Append(lst[i]).Append(',');
         }
         if (builder[builder.Length - 1] == ',')
         {
             builder.Remove(builder.Length - 1, 1);
         }
         builder.Append(")");
     }
     else if (data != null)
     {
         builder.Append(" AND clID IN (").Append(data.ID).Append(")");
     }
     return builder.ToString();
 }
예제 #4
0
 private void DBFixAdd()
 {
     this.DBFixList.Clear();
     for (int i = 0; i < this.trmlist.Count; i++)
     {
         DBFix item = new DBFix {
             ID = this.trmlist[i].Id,
             Priority = this.trmlist[i].Priority,
             UserCode = this.trmlist[i].UserCode,
             JobCode = this.trmlist[i].JobCoode,
             OutCode = this.trmlist[i].OutCode,
             Folder = this.trmlist[i].Folder
         };
         if (this.trmlist[i].UnOpen)
         {
             item.Open = "1";
         }
         else
         {
             item.Open = "0";
         }
         this.DBFixList.Add(item);
     }
 }