public override PagedData ProcessRequest(HttpContext context, CookDBDataContext db) { string project_id = context.Request.Params.Get("project_id"); if (!isNull(project_id)) { AccessUSANReq record = new AccessUSANReq(); record.project_id = int.Parse(project_id); db.AccessUSANReqs.InsertOnSubmit(record); db.SubmitChanges(); return new PagedData(new { record.accessusan_req_id }); } return new PagedData("AddAccessUSANAssessment.ashx requires a project_id"); }
private void detach_AccessUSANReqs(AccessUSANReq entity) { this.SendPropertyChanging(); entity.ProjectInformation = null; }
partial void DeleteAccessUSANReq(AccessUSANReq instance);
partial void UpdateAccessUSANReq(AccessUSANReq instance);
partial void InsertAccessUSANReq(AccessUSANReq instance);
public override PagedData ProcessRequest(HttpContext context, CookDBDataContext db) { IQueryable<AccessUSANReq> q = db.AccessUSANReqs; string username = context.Request.Params.Get("user_name"); string filter = context.Request.Params.Get("project_id"); System.IO.StreamReader reader = new System.IO.StreamReader(context.Request.InputStream, context.Request.ContentEncoding); var jsonSerializer = new JsonSerializer(); JObject blob = (JObject)jsonSerializer.Deserialize(new JsonTextReader(new StringReader(reader.ReadToEnd()))); string readOnly = context.Request.Params.Get("read_only"); if (readOnly == "true" && context.Request.RequestType != "GET") { return new PagedData("Read Only"); } switch (context.Request.RequestType) { case "GET": { if (!isNull(filter)) { q = q.Where(a => a.project_id == int.Parse(filter)); List<Object> recordsToReturn = new List<Object>(); List<AccessUSANReq> tableRecs = q.ToList(); foreach (AccessUSANReq currentRec in tableRecs) { string[] table_permission_required = currentRec.table_permission_required.Split(','); for (int i = 0; i < table_permission_required.Length; i++) table_permission_required[i] = table_permission_required[i].Trim(); recordsToReturn.Add(new { currentRec.project_id, currentRec.accessusan_req_id, currentRec.@new, currentRec.name, currentRec.email, currentRec.login_id, currentRec.report_access_required, currentRec.read_only_permission, table_permission_required }); } return new PagedData(recordsToReturn); /*return new PagedData(q.Select(a => new { a.project_id, a.accessusan_req_id, a.@new, a.name, a.email, a.login_id, a.table_permission_required, a.report_access_required, a.read_only_permission }));*/ } else { return new PagedData("GetAccessUSANReqs expects a project_id"); } } case "POST": { if (blob["rows"].GetType() == typeof(JObject)) { JObject obj = (JObject)blob["rows"]; AccessUSANReq record = new AccessUSANReq(); record.project_id = int.Parse(filter); record.@new = false; record.name = "Test Guy"; record.email = ""; record.login_id = ""; record.table_permission_required = ""; record.report_access_required = ""; record.read_only_permission = false; db.AccessUSANReqs.InsertOnSubmit(record); db.SubmitChanges(); q = q.Where(a => a.project_id == int.Parse(filter) && a.accessusan_req_id == record.accessusan_req_id); return new PagedData(q.Select(a => new { a.project_id, a.accessusan_req_id, a.@new, a.name, a.email, a.login_id, a.table_permission_required, a.report_access_required, a.read_only_permission })); } else { JArray objs = (JArray)blob["rows"]; List<AccessUSANReq> list = new List<AccessUSANReq>(); for (int j = 0; j < objs.Count; j++) { AccessUSANReq record = new AccessUSANReq(); record.project_id = int.Parse(filter); record.@new = false; record.name = "Test Guy"; record.email = ""; record.login_id = ""; record.table_permission_required = ""; record.report_access_required = ""; record.read_only_permission = false; db.AccessUSANReqs.InsertOnSubmit(record); db.SubmitChanges(); list.Add(record); } return new PagedData(list); } } case "PUT": { if (blob["rows"].GetType() == typeof(JObject)) { JObject obj = (JObject)blob["rows"]; AccessUSANReq record = db.AccessUSANReqs.Single(a => a.accessusan_req_id.Equals((int)obj["accessusan_req_id"])); try { record.name = db.Contacts.Single(a => a.name.Equals((string)obj["name"])).name; } catch (Exception) { record.name = db.Contacts.Single(a => a.name.Equals("Test Guy")).name; } record.@new = (bool)obj["new"]; record.email = (string)obj["email"]; record.login_id = (string)obj["login_id"]; record.report_access_required = (string)obj["report_access_required"]; record.read_only_permission = (bool)obj["read_only_permission"]; List<string> table_permission_required = new List<string>(); if (obj["table_permission_required"] != null) { if (obj["table_permission_required"].GetType() == typeof(JValue)) { if ((string)obj["table_permission_required"] != "" && (string)obj["table_permission_required"] != null) { table_permission_required.Add((string)obj["table_permission_required"]); } } else { if (((JArray)obj["table_permission_required"]).Count > 0) { String tables = ""; for (int i = 0; i < ((JArray)obj["table_permission_required"]).Count; i++) { tables += (string)((JArray)obj["table_permission_required"])[i]; table_permission_required.Add((string)((JArray)obj["table_permission_required"])[i]); if ((i + 1) < ((JArray)obj["table_permission_required"]).Count) { tables += ", "; } } record.table_permission_required = tables; } } } db.SubmitChanges(); q = q.Where(a => a.project_id == int.Parse(filter) && a.accessusan_req_id == record.accessusan_req_id); return new PagedData(q.Select(a => new { a.project_id, a.accessusan_req_id, a.@new, a.name, a.email, a.login_id, table_permission_required, //a.table_permission_required, a.report_access_required, a.read_only_permission })); } else { JArray objs = (JArray)blob["rows"]; List<AccessUSANReq> list = new List<AccessUSANReq>(); for (int j = 0; j < objs.Count; j++) { AccessUSANReq record = db.AccessUSANReqs.Single(a => a.accessusan_req_id.Equals((int)objs["accessusan_req_id"])); try { record.name = db.Contacts.Single(a => a.name.Equals((string)objs["name"])).name; } catch (Exception) { record.name = db.Contacts.Single(a => a.name.Equals("Test Guy")).name; } record.@new = (bool)objs["new"]; record.email = (string)objs["email"]; record.login_id = (string)objs["login_id"]; record.report_access_required = (string)objs["report_access_required"]; record.read_only_permission = (bool)objs["read_only_permission"]; record.table_permission_required = (string)objs["table_permission_required"]; db.SubmitChanges(); list.Add(record); } return new PagedData(list); } } case "DELETE": { if (blob["rows"].GetType() == typeof(JObject)) { JObject obj = (JObject)blob["rows"]; AccessUSANReq record = db.AccessUSANReqs.Single(a => a.accessusan_req_id.Equals((int)obj["accessusan_req_id"])); db.AccessUSANReqs.DeleteOnSubmit(record); db.SubmitChanges(); return new PagedData("AU Assessment Rec Deleted"); } else { JArray objs = (JArray)blob["rows"]; List<AccessUSANReq> list = new List<AccessUSANReq>(); for (int j = 0; j < objs.Count; j++) { JObject obj = (JObject)blob["rows"]; AccessUSANReq record = db.AccessUSANReqs.Single(a => a.accessusan_req_id.Equals((int)obj["accessusan_req_id"])); db.AccessUSANReqs.DeleteOnSubmit(record); db.SubmitChanges(); } return new PagedData("AU Assessment Recs Deleted"); } } default: return new PagedData("Error: Unsupported Http Request: " + context.Request.RequestType + " not recognized", false); } }