/SLSTOffCampusWeb/Controllers/HomeController.cs
C# | 3176 lines | 2907 code | 259 blank | 10 comment | 500 complexity | 579f8f47781ea01b63900bff0bb966d9 MD5 | raw file
Large files files are truncated, but you can click here to view the full file
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web;
- using System.Web.Mvc;
- using Newtonsoft.Json;
- using SLSTOffCampusWeb.Models;
- using System.Xml;
- using System.Xml.Linq;
- using SLSTOffCampusWeb.ABSAMPDetails;
- using System.Web.Script.Serialization;
- using System.Text;
- using System.Data.Linq;
- namespace SLSTOffCampusWeb.Controllers
- {
- public class HomeController : Controller
- {
- private Entities db = new Entities();
- public ActionResult Index()
- {
-
-
- return Json("success");
- }
- #region Image
- public ActionResult SaveImage(HttpPostedFileBase imageFile, string fileName)
- {
- if (imageFile != null)
- {
- Image image = new Image();
-
- var binary = new byte[imageFile.ContentLength];
- imageFile.InputStream.Read(binary, 0, imageFile.ContentLength);
- image.fileName = imageFile.FileName;
- image.imgData = binary;
- db.Images.Add(image);
- db.SaveChanges();
- }
- return Content("success");
- }
-
- public ActionResult GetImage(string filename)
- {
- // The Name of the Upload component is "files"
- Image image = db.Images.SingleOrDefault(i => i.fileName == filename);
- if (image != null)
- {
-
- if (image.imgData == null)
- return HttpNotFound();
- byte[] imageData = image.imgData.ToArray();
- return new FileStreamResult(new System.IO.MemoryStream(imageData), "image/png");
- }
- return HttpNotFound();
-
- }
-
-
- #endregion
-
- #region ABSAMP
-
- public ActionResult UpdateABSAMPLocation()
- {
- var locations = db.LocationTemplates;
-
- foreach (LocationTemplate location in locations)
- {
- try
- {
- BeachDetailsPortTypeClient absamp = new BeachDetailsPortTypeClient();
- ctAuthentication auth = new ctAuthentication();
- auth.username = "alivemobile";
- auth.password = "Al1v3M081le";
- string beachString = absamp.getBeachDetails(auth, location.beachKey, location.name);
- XDocument doc = XDocument.Parse(beachString);
- IEnumerable<XElement> rootCategory = doc.Descendants("Beach");
- string Latitude = rootCategory.Descendants("Latitude").FirstOrDefault().Value;
- string Longitude = rootCategory.Descendants("Longitude").FirstOrDefault().Value;
- string Description = rootCategory.Descendants("Description").FirstOrDefault().Value;
- string HazardRating = rootCategory.Descendants("HazardRating").FirstOrDefault().Value;
- location.notes = Description;
- location.latitude = Latitude;
- location.longitude = Longitude;
- location.hazardRating = HazardRating;
- }
- catch
- {
-
- }
-
-
- }
- db.SaveChanges();
- return Json("success");
- }
- public ActionResult RebuildABSAMPList()
- {
- string key;
- string name;
- SLSTOffCampusWeb.ABSAMP.BeachBasicsPortTypeClient absamp = new SLSTOffCampusWeb.ABSAMP.BeachBasicsPortTypeClient();
- SLSTOffCampusWeb.ABSAMP.ctAuthentication auth = new SLSTOffCampusWeb.ABSAMP.ctAuthentication();
- auth.username = "alivemobile";
- auth.password = "Al1v3M081le";
- string beaches = absamp.getBeachList(auth);
- XmlReaderSettings set = new XmlReaderSettings();
- XDocument doc = XDocument.Parse(beaches);
- IEnumerable<XElement> rootCategory = doc.Descendants("Beach");
- foreach (XElement childBeach in rootCategory)
- {
- key = childBeach.Attribute("key").Value;
- name = childBeach.Attribute("name").Value;
- if (key.ToUpper().Contains("TAS") == true)
- {
-
- if (db.LocationTemplates.SingleOrDefault(b => b.beachKey == key) == null)
- {
- LocationTemplate template = new LocationTemplate();
-
- template.beachKey = key;
- template.name = name;
- db.LocationTemplates.Add(template);
- db.SaveChanges();
- }
- }
-
- }
- return Json("success");
- }
- #endregion
-
- #region Interface
- [HttpPost]
- public ActionResult StoreFeedback(FormCollection collection)
- {
- string json = collection["json"];
- if (json == null)
- return Json("failure", JsonRequestBehavior.AllowGet);
- DateTime latestTime = DateTime.MinValue;
- FeedBackRequest requestItem = JsonConvert.DeserializeObject<FeedBackRequest>(json);
- Feedback feedback = new Feedback();
- feedback.name = requestItem.name;
- feedback.email = requestItem.email;
- feedback.title = requestItem.title;
- feedback.description = requestItem.description;
- feedback.created = DateTime.Now;
- db.Feedbacks.Add(feedback);
- db.SaveChanges();
-
-
- return Json("success");
- }
- [HttpPost]
- public ActionResult registerUser(FormCollection collection)
- {
- string json = collection["json"];
- registerUser requestItem = JsonConvert.DeserializeObject<registerUser>(json);
- registerUserResponseModel responsejson = new registerUserResponseModel();
- Teacher userrecord = db.Teachers.SingleOrDefault(i => i.email == requestItem.email);
- if (userrecord != null)
- {
- responsejson.errorMsg = "Email already exists";
- responsejson.error = 1;
- return Json(responsejson);
-
- }
- userrecord = new Teacher();
- userrecord.email = requestItem.email;
- userrecord.password = requestItem.password;
- userrecord.firstname = requestItem.firstname;
- userrecord.lastname = requestItem.lastname;
- responsejson.error = 0;
- db.Teachers.Add(userrecord);
- db.SaveChanges();
- return Json(responsejson);
- }
- [HttpPost]
- public ActionResult loginUser(FormCollection collection)
- {
- string json = collection["json"];
- registerUser requestItem = JsonConvert.DeserializeObject<registerUser>(json);
- registerUserResponseModel responsejson = new registerUserResponseModel();
- Teacher userrecord = db.Teachers.SingleOrDefault(i => i.email.ToLower() == requestItem.email.ToLower() && i.password == requestItem.password);
- if (userrecord == null)
- {
- responsejson.errorMsg = "Email or password is not valid";
- responsejson.error = 1;
- return Json(responsejson);
-
- }
- responsejson.error = 0;
- responsejson.token = userrecord.id.ToString();
-
- return Json(responsejson);
-
- }
- [HttpPost]
- public ActionResult forgotPassword(FormCollection collection)
- {
- string json = collection["json"];
- registerUser requestItem = JsonConvert.DeserializeObject<registerUser>(json);
- registerUserResponseModel responsejson = new registerUserResponseModel();
- user userrecord = db.users.SingleOrDefault(i => i.email == requestItem.email);
- if (userrecord == null)
- {
- responsejson.errorMsg = "Email is not valid";
- responsejson.error = 1;
- return Json(responsejson);
-
- }
- responsejson.error = 0;
- return Json(responsejson);
-
- }
- [HttpPost]
- public ActionResult SyncRecordRequest(FormCollection collection)
- {
- string json = collection["json"];
- if (json == null)
- return Json("failure", JsonRequestBehavior.AllowGet);
- SyncObjectRequestModel requestItem = JsonConvert.DeserializeObject<SyncObjectRequestModel>(json);
- SyncRecordResponseModel response = new SyncRecordResponseModel();
- response.status.error = 1;
- response.status.errorMsg = "failed";
- if (requestItem.action == null)
- {
- response.status.error = 1;
- response.status.errorMsg = "no command set";
- return Json(response);
- }
- switch (requestItem.action.ToUpper())
- {
- case "ADD":
- response = AddRecord(requestItem);
- break;
- case "UPDATE":
- response = UpdateRecord(requestItem);
- break;
- case "DELETE":
- response = DeleteRecord(requestItem);
- break;
- default:
- response = new SyncRecordResponseModel();
- response.status.error = 1;
- response.status.errorMsg = "Action is not valid";
- break;
-
- }
- return Json(response);
- }
- [HttpPost]
- public ActionResult SyncChangesRequest(FormCollection collection)
- {
- string json = collection["json"];
- if (json == null)
- return Json("failure", JsonRequestBehavior.AllowGet);
- SyncChangesRequestModel requestItem = JsonConvert.DeserializeObject<SyncChangesRequestModel>(json);
- SyncChangesResponse response = new SyncChangesResponse();
- response.status.error = 1;
- response.status.errorMsg = "failed";
- DateTime latestTime = DateTime.MinValue;
- DateTime requestTime = DateTime.MinValue;
- DateTime tableTime = DateTime.MinValue;
- DateTime tempDate;
- try
- {
- requestTime = DateTime.Parse(requestItem.updateTime);
- latestTime = requestTime;
- }
- catch
- {
-
- }
- #region LOCATIONTEMPLATE
- var locationTemplateFound = db.LocationTemplates.Where(b => b.modified > requestTime && b.riskType != null);
- if (locationTemplateFound.Count() > 0)
- {
- foreach (LocationTemplate locationTemplate in locationTemplateFound)
- {
- ResponseRecordModel item = new ResponseRecordModel();
- item.record.tableName = "LocationTemplate";
- item.record.serverId = locationTemplate.id.ToString();
- item.record.recordData.Add("address", locationTemplate.address);
- item.record.recordData.Add("locationType", locationTemplate.locationType);
- item.record.recordData.Add("beachKey", locationTemplate.beachKey);
- item.record.recordData.Add("category", locationTemplate.category);
- item.record.recordData.Add("facilities", locationTemplate.facilities);
- item.record.recordData.Add("hazardRating", locationTemplate.hazardRating);
- item.record.recordData.Add("latitude", locationTemplate.latitude);
- item.record.recordData.Add("longitude", locationTemplate.longitude);
- item.record.recordData.Add("name", locationTemplate.name);
- item.record.recordData.Add("notes", locationTemplate.notes);
- item.record.recordData.Add("riskType", locationTemplate.riskType);
- item.record.recordData.Add("delete", locationTemplate.deleted.ToString());
- response.response.record.Add(item);
- }
- tableTime = (DateTime)(from d in db.LocationTemplates select d.modified).Max();
- int i = DateTime.Compare(latestTime, tableTime);
- if (i < 0) //latesttime is less than tabletime
- latestTime = tableTime;
- }
- #endregion
- #region SCHOOLRESPONSE
- var schoolFound = db.Schools.Where(b => b.modified > requestTime);
- if (schoolFound.Count() > 0)
- {
- foreach (School school in schoolFound)
- {
- ResponseRecordModel item = new ResponseRecordModel();
- item.record.tableName = "School";
- item.record.serverId = school.id.ToString();
- item.record.recordData.Add("fax", school.fax);
- item.record.recordData.Add("name", school.name);
- item.record.recordData.Add("phone", school.phone);
- item.record.recordData.Add("postaladdress", school.postaladdress);
- item.record.recordData.Add("streetaddress", school.streetaddress);
- item.record.recordData.Add("category", school.category);
- item.record.recordData.Add("delete", school.deleted.ToString());
- item.record.recordData.Add("approverEmail", school.approverEmail);
- item.record.recordData.Add("approverName", school.approverName);
- response.response.record.Add(item);
- }
- tableTime = (DateTime)(from d in db.Schools select d.modified).Max();
- int i = DateTime.Compare(latestTime, tableTime);
- if (i < 0) //latesttime is less than tabletime
- latestTime = tableTime;
- }
- #endregion
- #region TEACHERRESPONSE
- var teacherFound = db.Teachers.Where(b => b.modified > requestTime);
- if (teacherFound.Count() > 0)
- {
- foreach (Teacher teacher in teacherFound)
- {
- ResponseRecordModel item = new ResponseRecordModel();
- item.parent.tableName = "School";
- item.parent.serverId = teacher.schoolId.ToString();
-
- item.record.tableName = "Teacher";
- item.record.serverId = teacher.id.ToString();
- item.record.recordData.Add("firstname", teacher.firstname);
- item.record.recordData.Add("lastname", teacher.lastname);
- item.record.recordData.Add("password", teacher.password);
- item.record.recordData.Add("email", teacher.email);
- item.record.recordData.Add("avatar", teacher.avatar);
- item.record.recordData.Add("parentId", teacher.schoolId.ToString());
- item.record.recordData.Add("delete", teacher.deleted.ToString());
- response.response.record.Add(item);
- }
- latestTime = (DateTime)(from d in db.Teachers select d.modified).Max();
- int i = DateTime.Compare(latestTime, tableTime);
- if (i < 0) //latesttime is less than tabletime
- latestTime = tableTime;
- }
- #endregion
- #region ACTIVITY
-
- var activityFound = db.Activities.Where(b => b.modified > requestTime);
- if (activityFound.Count() > 0)
- {
- foreach (Activity activity in activityFound)
- {
- ResponseRecordModel item = new ResponseRecordModel();
- item.record.tableName = "Activity";
- item.parent.tableName = "Teacher";
- item.parent.serverId = activity.Teacher.id.ToString();
- item.record.serverId = activity.id.ToString();
- item.record.recordData.Add("status", activity.status);
- if (activity.dateEnd != null)
- {
- tempDate = (DateTime)activity.dateEnd;
- item.record.recordData.Add("dateEnd", tempDate.ToString("s"));
- }
- if (activity.dateStart != null)
- {
- tempDate = (DateTime)activity.dateStart;
- item.record.recordData.Add("dateStart", tempDate.ToString("s"));
- }
- item.record.recordData.Add("name", activity.name);
- item.record.recordData.Add("type", activity.type);
- item.record.recordData.Add("numberOfStudents", activity.numberOfStudents.ToString());
- item.record.recordData.Add("schoolClasName", activity.schoolClasName);
- item.record.recordData.Add("approverComment", activity.approverComment);
- item.record.recordData.Add("parentId", activity.teacherId.ToString());
- item.record.recordData.Add("delete", activity.deleted.ToString());
- response.response.record.Add(item);
- }
- latestTime = (DateTime)(from d in db.Activities select d.modified).Max();
- int i = DateTime.Compare(latestTime, tableTime);
- if (i < 0) //latesttime is less than tabletime
- latestTime = tableTime;
- }
- #endregion
- #region LOCATION
- var locationfound = db.Locations.Where(b => b.modified > requestTime);
- if (locationfound.Count() > 0)
- {
- foreach (Location location in locationfound)
- {
- ResponseRecordModel item = new ResponseRecordModel();
- item.record.tableName = "Location";
- item.parent.tableName = "Activity";
- item.parent.serverId = location.Activity.id.ToString();
-
- item.record.serverId = location.id.ToString();
- item.record.recordData.Add("address", location.address);
- item.record.recordData.Add("facilities", location.facilities);
- item.record.recordData.Add("latitude", location.latitude);
- item.record.recordData.Add("longitude", location.longitude);
- item.record.recordData.Add("name", location.name);
- item.record.recordData.Add("notes", location.notes);
- item.record.recordData.Add("riskType", location.riskType);
- if (location.isPrimary != null)
- item.record.recordData.Add("isPrimary", location.isPrimary.ToString());
- if (location.hazardRating != null)
- item.record.recordData.Add("hazardRating", location.hazardRating.ToString());
- item.record.recordData.Add("parentId", location.activityId.ToString());
- item.record.recordData.Add("delete", location.deleted.ToString());
- response.response.record.Add(item);
- }
- latestTime = (DateTime)(from d in db.Teachers select d.modified).Max();
- int i = DateTime.Compare(latestTime, tableTime);
- if (i < 0) //latesttime is less than tabletime
- latestTime = tableTime;
- }
- #endregion
- #region ACCREDITATION
- var accreditationfound = db.Accreditations.Where(b => b.modified > requestTime);
- if (accreditationfound.Count() > 0)
- {
- foreach (Accreditation accreditation in accreditationfound)
- {
- ResponseRecordModel item = new ResponseRecordModel();
- item.record.tableName = "Accreditation";
- item.parent.tableName = "Teacher";
- item.parent.serverId = accreditation.Teacher.id.ToString();
- item.record.serverId = accreditation.id.ToString();
- item.record.recordData.Add("name", accreditation.name);
- item.record.recordData.Add("reminderEnabled", accreditation.reminderEnabled.ToString());
- if (accreditation.renewalDate != null)
- {
- tempDate = (DateTime)accreditation.renewalDate;
- item.record.recordData.Add("renewalDate", tempDate.Date.ToString("s"));
- }
- item.record.recordData.Add("parentId", accreditation.teacherId.ToString());
- item.record.recordData.Add("delete", accreditation.deleted.ToString());
- response.response.record.Add(item);
- }
- latestTime = (DateTime)(from d in db.Accreditations select d.modified).Max();
- int i = DateTime.Compare(latestTime, tableTime);
- if (i < 0) //latesttime is less than tabletime
- latestTime = tableTime;
- }
- #endregion
- #region TEACHERSUPPORT
- var teacherSupportfound = db.TeacherSupports.Where(b => b.modified > requestTime);
- if (teacherSupportfound.Count() > 0)
- {
- foreach (TeacherSupport teacherSupport in teacherSupportfound)
- {
- ResponseRecordModel item = new ResponseRecordModel();
- item.record.tableName = "TeacherSupport";
- item.parent.tableName = "Activity";
- item.parent.serverId = teacherSupport.Activity.id.ToString();
- item.record.serverId = teacherSupport.id.ToString();
- item.record.recordData.Add("email", teacherSupport.email);
- item.record.recordData.Add("parentId", teacherSupport.activityId.ToString());
- item.record.recordData.Add("delete", teacherSupport.deleted.ToString());
- response.response.record.Add(item);
- }
- latestTime = (DateTime)(from d in db.TeacherSupports select d.modified).Max();
- int i = DateTime.Compare(latestTime, tableTime);
- if (i < 0) //latesttime is less than tabletime
- latestTime = tableTime;
- }
- #endregion
- #region COMMENT
- var commentfound = db.Comments.Where(b => b.modified > requestTime);
- if (commentfound.Count() > 0)
- {
- foreach (Comment comment in commentfound)
- {
- ResponseRecordModel item = new ResponseRecordModel();
- item.record.tableName = "Comment";
- item.record.serverId = comment.id.ToString();
- item.parent.tableName = "Activity";
- item.parent.serverId = comment.Activity.id.ToString();
-
- if (comment.date != null)
- {
- tempDate = (DateTime)comment.date;
- item.record.recordData.Add("renewalDate", tempDate.Date.ToString("s"));
- }
- item.record.recordData.Add("comment", comment.comment1);
- item.record.recordData.Add("parentId", comment.activityId.ToString());
- item.record.recordData.Add("delete", comment.deleted.ToString());
- response.response.record.Add(item);
- }
- latestTime = (DateTime)(from d in db.Comments select d.modified).Max();
- int i = DateTime.Compare(latestTime, tableTime);
- if (i < 0) //latesttime is less than tabletime
- latestTime = tableTime;
- }
- #endregion
- #region ActivityLogNote
- var activityLogNotesFond = db.ActivityLogNotes.Where(b => b.modified > requestTime);
- if (activityLogNotesFond.Count() > 0)
- {
- foreach (ActivityLogNote activityLogNote in activityLogNotesFond)
- {
- ResponseRecordModel item = new ResponseRecordModel();
- item.record.tableName = "ActivityLogNote";
- item.record.serverId = activityLogNote.id.ToString();
- item.parent.tableName = "Activity";
- item.parent.serverId = activityLogNote.Activity.id.ToString();
-
- if (activityLogNote.date != null)
- {
- tempDate = (DateTime)activityLogNote.date;
- item.record.recordData.Add("date", tempDate.Date.ToString("s"));
- }
- item.record.recordData.Add("avatar", activityLogNote.avatar);
- item.record.recordData.Add("logNote", activityLogNote.logNote);
- item.record.recordData.Add("name", activityLogNote.name);
- item.record.recordData.Add("parentId", activityLogNote.activityId.ToString());
- item.record.recordData.Add("delete", activityLogNote.deleted.ToString());
- response.response.record.Add(item);
- }
- latestTime = (DateTime)(from d in db.ActivityLogNotes select d.modified).Max();
- int i = DateTime.Compare(latestTime, tableTime);
- if (i < 0) //latesttime is less than tabletime
- latestTime = tableTime;
- }
- #endregion
- #region NOTE
- var notefound = db.Notes.Where(b => b.modified > requestTime);
- if (notefound.Count() > 0)
- {
- foreach (Note note in notefound)
- {
- ResponseRecordModel item = new ResponseRecordModel();
- item.record.tableName = "Note";
- item.record.serverId = note.id.ToString();
- item.parent.tableName = "Activity";
- item.parent.serverId = note.Activity.id.ToString();
-
- if (note.date != null)
- {
- tempDate = (DateTime)note.date;
- item.record.recordData.Add("date", tempDate.Date.ToString("s"));
- }
- if (note.note1 != null)
- {
- item.record.recordData.Add("note", note.note1);
- }
- item.record.recordData.Add("photo", note.photo);
- item.record.recordData.Add("teacherEmailID", note.teacherEmailID);
- item.record.recordData.Add("parentId", note.activityId.ToString());
- item.record.recordData.Add("delete", note.deleted.ToString());
- response.response.record.Add(item);
- }
- latestTime = (DateTime)(from d in db.Notes select d.modified).Max();
- int i = DateTime.Compare(latestTime, tableTime);
- if (i < 0) //latesttime is less than tabletime
- latestTime = tableTime;
- }
- #endregion
- #region CHECKLIST
- var checklistfound = db.Checklists.Where(b => b.modified > requestTime);
- if (checklistfound.Count() > 0)
- {
- foreach (Checklist checklist in checklistfound)
- {
- ResponseRecordModel item = new ResponseRecordModel();
- item.record.tableName = "CheckList";
- item.parent.tableName = "Activity";
- item.parent.serverId = checklist.Activity.id.ToString();
-
- item.record.serverId = checklist.id.ToString();
- item.record.recordData.Add("name", checklist.name);
- item.record.recordData.Add("checklistType", checklist.checklistType);
- item.record.recordData.Add("draftActivityURI", checklist.draftActivityURI);
- item.record.recordData.Add("checklistValues", checklist.checklistValues);
- item.record.recordData.Add("parentId", checklist.activityId.ToString());
- item.record.recordData.Add("delete", checklist.deleted.ToString());
- response.response.record.Add(item);
- }
- latestTime = (DateTime)(from d in db.Checklists select d.modified).Max();
- int i = DateTime.Compare(latestTime, tableTime);
- if (i < 0) //latesttime is less than tabletime
- latestTime = tableTime;
- }
- #endregion
- #region TRANSPORT
- var transportfound = db.Transports.Where(b => b.modified > requestTime);
- if (transportfound.Count() > 0)
- {
- foreach (Transport transport in transportfound)
- {
- ResponseRecordModel item = new ResponseRecordModel();
- item.record.tableName = "Transport";
- item.parent.tableName = "Activity";
- item.parent.serverId = transport.Activity.id.ToString();
-
- item.record.serverId = transport.id.ToString();
- item.record.recordData.Add("type", transport.type);
- item.record.recordData.Add("pickLocation", transport.pickLocation);
- item.record.recordData.Add("dropOffLocation", transport.dropOffLocation);
- item.record.recordData.Add("parentId", transport.activityId.ToString());
- if (transport.dropOffDate != null)
- {
- tempDate = (DateTime)transport.dropOffDate;
- item.record.recordData.Add("dropOffDate", tempDate.ToString("s"));
- }
- item.record.recordData.Add("delete", transport.deleted.ToString());
- response.response.record.Add(item);
- }
- latestTime = (DateTime)(from d in db.Transports select d.modified).Max();
- int i = DateTime.Compare(latestTime, tableTime);
- if (i < 0) //latesttime is less than tabletime
- latestTime = tableTime;
- }
- #endregion
- #region EmergencyContact
- var EmergencyContactFound = db.EmergencyContacts.Where(b => b.modified > requestTime);
- if (EmergencyContactFound.Count() > 0)
- {
- foreach (EmergencyContact emergencyContacts in EmergencyContactFound)
- {
- ResponseRecordModel item = new ResponseRecordModel();
- item.record.tableName = "EmergencyContact";
- item.parent.tableName = "Activity";
- item.parent.serverId = emergencyContacts.Activity.id.ToString();
-
- item.record.serverId = emergencyContacts.id.ToString();
- item.record.recordData.Add("name", emergencyContacts.name);
- item.record.recordData.Add("phone", emergencyContacts.phone);
- item.record.recordData.Add("parentId", emergencyContacts.activityId.ToString());
- item.record.recordData.Add("delete", emergencyContacts.deleted.ToString());
- response.response.record.Add(item);
- }
- latestTime = (DateTime)(from d in db.EmergencyContacts select d.modified).Max();
- int i = DateTime.Compare(latestTime, tableTime);
- if (i < 0) //latesttime is less than tabletime
- latestTime = tableTime;
- }
- #endregion
- response.response.updateTime = latestTime.ToString("s");
- response.status.error = 0;
- response.status.errorMsg = "";
- var serializer = new JavaScriptSerializer();
- serializer.MaxJsonLength = Int32.MaxValue;
-
- var result = new ContentResult
- {
- Content = serializer.Serialize(response),
- ContentType = "application/json"
- };
- return result;
- }
- private SyncRecordResponseModel UpdateRecord(SyncObjectRequestModel requestItem)
- {
- SyncRecordResponseModel response = new SyncRecordResponseModel();
-
-
-
- switch (requestItem.record.tableName.ToUpper())
- {
- case "SCHOOL":
- response.response.record.serverId = UpdateSchool(requestItem);
- break;
- case "TEACHER":
- response.response.record.serverId = UpdateTeacher(requestItem);
- break;
- case "LOCATION":
- response.response.record.serverId = UpdateLocation(requestItem);
- break;
- case "LOCATIONTEMPLATE":
- response.response.record.serverId = UpdateLocationTemplate(requestItem);
- break;
- case "ACCREDITATION":
- response.response.record.serverId = UpdateAccreditation(requestItem);
- break;
- case "ACTIVITY":
- response.response.record.serverId = UpdateActivity(requestItem);
- break;
- case "TEACHERSUPPORT":
- response.response.record.serverId = UpdateTeacherSupport(requestItem);
- break;
- case "COMMENT":
- response.response.record.serverId = UpdateComment(requestItem);
- break;
- case "ALERT":
- response.response.record.serverId = UpdateAlert(requestItem);
- break;
- case "GENERALWEATHER":
- response.response.record.serverId = UpdateGeneralWeather(requestItem);
- break;
- case "FORECAST":
- response.response.record.serverId = UpdateForecast(requestItem);
- break;
- case "CHECKLIST":
- response.response.record.serverId = UpdateCheckList(requestItem);
- break;
- case "PHOTO":
- response.response.record.serverId = UpdatePhoto(requestItem);
- break;
- case "TRANSPORT":
- response.response.record.serverId = UpdateTransport(requestItem);
- break;
- case "EMERGENCYCONTACT":
- response.response.record.serverId = UpdateEmergencyContact(requestItem);
- break;
- case "NOTE":
- response.response.record.serverId = UpdateNote(requestItem);
- break;
- default:
- response.status.error = 1;
- response.status.errorMsg = "Table is not valid";
- break;
-
- }
- return response;
- }
- private SyncRecordResponseModel DeleteRecord(SyncObjectRequestModel requestItem)
- {
- SyncRecordResponseModel response = new SyncRecordResponseModel();
-
- switch (requestItem.record.tableName.ToUpper())
- {
- case "SCHOOL":
- response.response.record.serverId = DeleteSchool(requestItem);
- break;
- case "TEACHER":
- response.response.record.serverId = DeleteTeacher(requestItem);
- break;
- case "LOCATION":
- response.response.record.serverId = DeleteLocation(requestItem);
- break;
- case "LOCATIONTEMPLATE":
- response.response.record.serverId = DeleteLocationTemplate(requestItem);
- break;
- case "ACCREDITATION":
- response.response.record.serverId = DeleteAccreditation(requestItem);
- break;
- case "ACTIVITY":
- response.response.record.serverId = DeleteActivity(requestItem);
- break;
- case "TEACHERSUPPORT":
- response.response.record.serverId = DeleteTeacherSupport(requestItem);
- break;
- case "COMMENT":
- response.response.record.serverId = DeleteComment(requestItem);
- break;
- case "ALERT":
- response.response.record.serverId = DeleteAlert(requestItem);
- break;
- case "GENERALWEATHER":
- response.response.record.serverId = DeleteGeneralWeather(requestItem);
- break;
- case "FORECAST":
- response.response.record.serverId = DeleteForecast(requestItem);
- break;
- case "CHECKLIST":
- response.response.record.serverId = DeleteCheckList(requestItem);
- break;
- case "PHOTO":
- response.response.record.serverId = DeletePhoto(requestItem);
- break;
- case "TRANSPORT":
- response.response.record.serverId = DeleteTransport(requestItem);
- break;
- case "EMERGENCYCONTACT":
- response.response.record.serverId = DeleteEmergencyContact(requestItem);
- break;
- case "NOTE":
- response.response.record.serverId = DeleteNote(requestItem);
- break;
- default:
- response.status.error = 1;
- response.status.errorMsg = "Table is not valid";
- break;
-
- }
- return response;
- }
- private SyncRecordResponseModel AddRecord(SyncObjectRequestModel requestItem)
- {
- SyncRecordResponseModel response = new SyncRecordResponseModel();
-
- if (requestItem.record.coreDataId.Length == 0)
- {
- response.status.error = 1;
- response.status.errorMsg = "coreDataId value is not set";
- return response;
- }
-
- response.response.record.tableName = requestItem.record.tableName;
- response.response.record.coreDataId = requestItem.record.coreDataId;
- switch (requestItem.record.tableName.ToUpper())
- {
- case "SCHOOL":
- response.response.record.serverId = AddSchool(requestItem);
- break;
- case "TEACHER":
- response.response.record.serverId = AddTeacher(requestItem);
- break;
- case "LOCATION":
- response.response.record.serverId = AddLocation(requestItem);
- break;
- case "LOCATIONTEMPLATE":
- response.response.record.serverId = AddLocationTemplate(requestItem);
- break;
- case "ACCREDITATION":
- response.response.record.serverId = AddAccreditation(requestItem);
- break;
- case "ACTIVITY":
- response.response.record.serverId = AddActivity(requestItem);
- break;
- case "TEACHERSUPPORT":
- response.response.record.serverId = AddTeacherSupport(requestItem);
- break;
- case "COMMENT":
- response.response.record.serverId = AddComment(requestItem);
- break;
- case "ALERT":
- response.response.record.serverId = AddAlert(requestItem);
- break;
- case "GENERALWEATHER":
- response.response.record.serverId = AddGeneralWeather(requestItem);
- break;
- case "FORECAST":
- response.response.record.serverId = AddForecast(requestItem);
- break;
- case "CHECKLIST":
- response.response.record.serverId = AddCheckList(requestItem);
- break;
- case "PHOTO":
- response.response.record.serverId = AddPhoto(requestItem);
- break;
- case "TRANSPORT":
- response.response.record.serverId = AddTransport(requestItem);
- break;
- case "EMERGENCYCONTACT":
- response.response.record.serverId = AddEmergencyContact(requestItem);
- break;
- case "NOTE":
- response.response.record.serverId = AddNote(requestItem);
- break;
- default:
- response.status.error = 1;
- response.status.errorMsg = "Table is not valid";
- break;
-
- }
- return response;
- }
- #endregion
-
- #region LocationTemplate
- //****************LocationTemplate ADD UPDATE and DELETE
- private string AddLocationTemplate(SyncObjectRequestModel requestItem)
- {
- LocationTemplate locationTemplate = db.LocationTemplates.SingleOrDefault(i => i.coreDataId == requestItem.record.coreDataId);
- if (locationTemplate == null)
- {
- locationTemplate = new LocationTemplate();
- db.LocationTemplates.Add(locationTemplate);
- locationTemplate.coreDataId = requestItem.record.coreDataId;
-
- }
- if (requestItem.record.recordData.ContainsKey("address"))
- {
- string value = requestItem.record.recordData["address"];
- locationTemplate.address = value;
- }
- if (requestItem.record.recordData.ContainsKey("altitude"))
- {
- string value = requestItem.record.recordData["altitude"];
- locationTemplate.altitude = value;
- }
- if (requestItem.record.recordData.ContainsKey("facilities"))
- {
- string value = requestItem.record.recordData["facilities"];
- locationTemplate.facilities = value;
- }
- if (requestItem.record.recordData.ContainsKey("latitude"))
- {
- string value = requestItem.record.recordData["latitude"];
- locationTemplate.latitude = value;
- }
- if (requestItem.record.recordData.ContainsKey("locationType"))
- {
- string value = requestItem.record.recordData["locationType"];
- locationTemplate.locationType = value;
- }
- if (requestItem.record.recordData.ContainsKey("longitude"))
- {
- string value = requestItem.record.recordData["longitude"];
- locationTemplate.longitude = value;
- }
- if (requestItem.record.recordData.ContainsKey("name"))
- {
- string value = requestItem.record.recordData["name"];
- locationTemplate.name = value;
- }
- if (requestItem.record.recordData.ContainsKey("notes"))
- {
- string value = requestItem.record.recordData["notes"];
- locationTemplate.notes = value;
- }
- if (requestItem.record.recordData.ContainsKey("riskType"))
- {
- string value = requestItem.record.recordData["riskType"];
- locationTemplate.riskType = value;
- }
- if (requestItem.record.recordData.ContainsKey("hazardRating"))
- {
- string value = requestItem.record.recordData["hazardRating"];
- locationTemplate.riskType = value;
-
-
-
- }
-
- locationTemplate.deleted = false;
- locationTemplate.modified = DateTime.Now;
- db.SaveChanges();
- return locationTemplate.id.ToString(); ;
- }
- private string UpdateLocationTemplate(SyncObjectRequestModel requestItem)
- {
- int serverId;
- bool result = Int32.TryParse(requestItem.record.serverId, out serverId);
- if (!result)
- {
- return "-1";
-
- }
- LocationTemplate locationTemplate = db.LocationTemplates.SingleOrDefault(i => i.id == serverId);
- if (locationTemplate != null)
- {
- // See whether Dictionary contains this string.
- if (requestItem.record.recordData.ContainsKey("address"))
- {
- string value = requestItem.record.recordData["address"];
- locationTemplate.address = value;
- }
- if (requestItem.record.recordData.ContainsKey("altitude"))
- {
- string value = requestItem.record.recordData["altitude"];
- locationTemplate.altitude = value;
- }
- if (requestItem.record.recordData.ContainsKey("facilities"))
- {
- string value = requestItem.record.recordData["facilities"];
- locationTemplate.facilities = value;
- }
- if (requestItem.record.recordData.ContainsKey("latitude"))
- {
- string value = requestItem.record.recordData["latitude"];
- locationTemplate.latitude = value;
- }
- if (requestItem.record.recordData.ContainsKey("locationType"))
- {
- string value = requestItem.record.recordData["locationType"];
- locationTemplate.locationType = value;
- }
- if (requestItem.record.recordData.ContainsKey("longitude"))
- {
- string value = requestItem.record.recordData["longitude"];
- locationTemplate.longitude = value;
- }
- if (requestItem.record.recordData.ContainsKey("name"))
- {
- string value = requestItem.record.recordData["name"];
- locationTemplate.name = value;
- }
- if (requestItem.record.recordData.ContainsKey("notes"))
- {
- string value = requestItem.record.recordData["notes"];
- locationTemplate.notes = value;
- }
- if (requestItem.record.recordData.ContainsKey("riskType"))
- {
- string value = requestItem.record.recordData["riskType"];
- locationTemplate.riskType = value;
- }
- if (requestItem.record.recordData.ContainsKey("hazardRating"))
- {
- string value = requestItem.record.recordData["hazardRating"];
- locationTemplate.riskType = value;
-
-
-
- }
- locationTemplate.modified = DateTime.Now;
-
- db.SaveChanges();
- return locationTemplate.id.ToString(); ;
- }
- else
- {
- return "-1";
- }
-
- }
- private string DeleteLocationTemplate(SyncObjectRequestModel requestItem)
- {
- int serverId;
- bool result = Int32.TryParse(requestItem.record.serverId, out serverId);
- if (!result)
- {
- return "-1";
-
- }
- LocationTemplate locationTemplate = db.LocationTemplates.SingleOrDefault(i => i.id == serverId);
- if (locationTemplate != null)
- {
- locationTemplate.deleted = true;
- locationTemplate.modified = DateTime.Now;
- db.SaveChanges();
- return locationTemplate.id.ToString(); ;
- }
- else
- {
- return "-1";
- }
-
- }
- //*****************END Location ADD UPDATE and DELETE
- #endregion
-
-
- #region School
- //****************School ADD UPDATE and DELETE
- private string AddSchool(SyncObjectRequestModel requestItem)
- {
- School school = db.Schools.SingleOrDefault(i => i.coreDataId == requestItem.record.coreDataId);
- if (school == null)
- {
- school = new School();
- db.Schools.Add(school);
- school.coreDataId = requestItem.record.coreDataId;
-
- }
- // See whether Dictionary contains this string.
- if (requestItem.record.recordData.Conta…
Large files files are truncated, but you can click here to view the full file