private List <TargetModel> ReadTargetFromDB(string targetID = null, string creator = null) { string sqlProc = "exec ReadTargetFromDB"; Dictionary <string, object> queryParams = new Dictionary <string, object> { { "@targetID", targetID ?? "" }, { "@creator", creator ?? "" } }; DbHandler dbHandler = new DbHandler(); sqlProc = dbHandler.AddParamsToQuery(sqlProc, queryParams); DataSet dataSet = dbHandler.GetSetFromDb(sqlProc, queryParams); var x = dataSet.Tables["tab"].Rows; List <TargetModel> targets = new List <TargetModel>(); string JSONModel = string.Empty; foreach (DataRow row in dataSet.Tables["tab"].Rows) { TargetModel target = new TargetModel(); target.Id = row["Id"].ToString(); target.targetName = row["targetName"].ToString(); target.sizeX = int.Parse(row["sizeX"].ToString()); target.sizeY = int.Parse(row["sizeX"].ToString()); target.noOfFields = int.Parse(row["noOfFields"].ToString()); target.pointsPerShot = row["pointsPerShot"].ToString(); target.url = row["url"].ToString(); target.creator = row["creator"].ToString(); List <PointPerShot> pointsPerShot = new List <PointPerShot>(); foreach (DataRow rowField in dataSet.Tables["tab1"].Rows) { if (rowField["targetID"].ToString() == target.Id) { PointPerShot pointPerShot = new PointPerShot(); pointPerShot.fieldId = rowField["ID"].ToString(); pointPerShot.pointPerShot = int.Parse(rowField["pointPerShot"].ToString()); pointPerShot.specialPoint = Boolean.Parse(rowField["specialShot"].ToString()); pointPerShot.creatorID = rowField["creatorID"].ToString(); pointsPerShot.Add(pointPerShot); } } PointPerShot[] pointsPerShotOBJ = pointsPerShot.ToArray(); target.pointPerShotOBJ = pointsPerShotOBJ; targets.Add(target); } return(targets); }
public ActionResult CreateTarget() { TargetModel target = new TargetModel(); target.targetName = "23p"; target.sizeX = 30; target.sizeX = 30; target.noOfFields = 7; target.url = null; target.creator = "AUTO"; PointPerShot[] pointsPerShot = new PointPerShot[target.noOfFields]; for (int i = 0; i < target.noOfFields; i++) { var a = Guid.NewGuid().ToString(); pointsPerShot[i] = new PointPerShot { fieldId = a, pointPerShot = i + 4, specialPoint = false }; } //var ab = new Guid().ToString(); //pointsPerShot[10] = new PointPerShot { fieldId = ab, pointPerShot = 10, specialPoint = true }; //target.pointsPerShot = pointsPerShot; string pointsJSON = JsonConvert.SerializeObject(pointsPerShot); PointPerShot[] y = JsonConvert.DeserializeObject <PointPerShot[]>(pointsJSON); target.pointsPerShot = pointsJSON; try { SaveTargetInDB(target); }catch (Exception e) { return(NotFound()); } return(Ok()); }