Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [HttpPost]
- public ActionResult UpdateWorkout(string datas)
- {
- if(string.IsNullOrEmpty(datas) || !datas.Contains("`") || datas.Contains("State") || !datas.Contains("undefined"))
- {
- return Json(new { complete = true }, JsonRequestBehavior.AllowGet);
- }
- List<string> datapoints = new List<string>();
- int commacount = 0;
- string s = "";
- for(int i = 0; i < datas.Length; i++)
- {
- if (datas[i] == '`')
- commacount++;
- if(commacount == 4)
- {
- datapoints.Add(s);
- s = "";
- commacount = 0;
- }
- else
- {
- s += datas[i];
- }
- }
- datapoints.Add(s);
- List<Workout> Workouts = new List<Workout>();
- Workout workout = null;
- int propertyCount = 0;
- bool resetPropertyCount = false;
- foreach(string datapoint in datapoints)
- {
- resetPropertyCount = false;
- string[] data = datapoint.Split('`');
- string workoutid = data[0];
- string val = data[1];
- string divName = data[2];
- string type = data[3];
- if(propertyCount == 0)
- workout = new OPPDBContext().Workouts.Where(p => p.workout_id.ToString() == workoutid).FirstOrDefault();
- switch (type)
- {
- case "sets":
- workout.set = val;
- break;
- case "reps":
- workout.reps = val;
- break;
- case "load":
- workout.percent_max = val;
- break;
- case "recoveryTime":
- workout.RecoveryTime = val;
- break;
- case "notes":
- workout.notes = val;
- break;
- case "vbtMs":
- workout.VbtMs = val;
- break;
- case "isRequired":
- workout.IsRequired = (val == "Y") ? true : false;
- break;
- case "superset":
- workout.superset = val;
- break;
- case "treeList":
- break;
- case "gridView":
- break;
- case "undefined":
- break;
- default:
- return Json(new { failure = true });
- }
- if(propertyCount == 7)
- {
- Workouts.Add(workout);
- workout = null;
- propertyCount = 0;
- resetPropertyCount = true;
- }
- if(!resetPropertyCount)
- propertyCount++;
- }
- foreach(Workout wo in Workouts)
- {
- AddOrUpdateWorkout(wo);
- }
- return Json(new { success = true });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement