// GET api/WorkOrders public string Get() { //Get list of Work Orders var ctxt = new WorkOrdersAppEntities(); return JsonConvert.SerializeObject((from a in ctxt.WorkOrders join b in ctxt.refUsers on a.SubmitUserID equals b.ID join c in ctxt.refUsers on a.LastUpdateBy equals c.ID into cc from c2 in cc.DefaultIfEmpty() select new { ID = a.ID, Site = a.refJob.refSite.SitesName, Job = a.refJob.JobNumber + " - " + a.refJob.JobName, SubmittedByUserID = a.SubmitUserID, SubmittedByFirstName = b.First_Name, SubmittedByLastName = b.Last_Name, SubmittedDate = SqlFunctions.DatePart("MONTH", a.SubmittedDate) + "/" + SqlFunctions.DatePart("DAY", a.SubmittedDate) + "/" + SqlFunctions.DatePart("YEAR", a.SubmittedDate) + " " + SqlFunctions.DatePart("HOUR", a.SubmittedDate) + ":" + +SqlFunctions.DatePart("MINUTE", a.SubmittedDate), Subject = a.Subject, Description = a.Description, Reviewed = a.Reviewed, LastUpdatedBy = a.LastUpdateBy == null ? " " : c2.First_Name + " " + c2.Last_Name, LastUpdatedDate = a.LastUpdateDate == null ? null : SqlFunctions.DatePart("MONTH", a.LastUpdateDate) + "/" + SqlFunctions.DatePart("DAY", a.LastUpdateDate) + "/" + SqlFunctions.DatePart("YEAR", a.LastUpdateDate) + " " + SqlFunctions.DatePart("HOUR", a.LastUpdateDate) + ":" + +SqlFunctions.DatePart("MINUTE", a.LastUpdateDate), RegHoursWorked = a.RegHoursWorked, OvertimeHoursWorked = a.OvertimeHoursWorked }).ToList()); }
// GET api/WorkOrders public string Get(string id) { //Gets 5 latest Work Orders which are unaccepted var ctxt = new WorkOrdersAppEntities(); return JsonConvert.SerializeObject((from a in ctxt.WorkOrders join b in ctxt.refUsers on a.SubmitUserID equals b.ID join c in ctxt.ManageDevices on b.ID equals c.UserID join d in ctxt.refUsers on a.LastUpdateBy equals d.ID into dd from d2 in dd.DefaultIfEmpty() where c.DeviceGUID.Equals(id) && (a.Reviewed.HasValue ? a.Reviewed == false : a.Reviewed.Equals(null)) orderby a.SubmittedDate descending select new { ID = a.ID, Job = a.refJob.JobNumber + " - " + a.refJob.JobName, SubmittedByFirstName = a.refUser.First_Name, SubmittedByLastName = a.refUser.Last_Name, SubmittedDate = SqlFunctions.DatePart("MONTH", a.SubmittedDate) + "/" + SqlFunctions.DatePart("DAY", a.SubmittedDate) + "/" + SqlFunctions.DatePart("YEAR", a.SubmittedDate) + " " + SqlFunctions.DatePart("HOUR", a.SubmittedDate) + ":" + +SqlFunctions.DatePart("MINUTE", a.SubmittedDate), Subject = a.Subject, Description = a.Description, Reviewed = a.Reviewed, LastUpdatedBy = a.LastUpdateBy == null ? " " : d2.First_Name + " " + d2.Last_Name, LastUpdatedDate = a.LastUpdateDate == null ? null : SqlFunctions.DatePart("MONTH", a.LastUpdateDate) + "/" + SqlFunctions.DatePart("DAY", a.LastUpdateDate) + "/" + SqlFunctions.DatePart("YEAR", a.LastUpdateDate) + " " + SqlFunctions.DatePart("HOUR", a.LastUpdateDate) + ":" + +SqlFunctions.DatePart("MINUTE", a.LastUpdateDate), RegHoursWorked = a.RegHoursWorked, OvertimeHoursWorked = a.OvertimeHoursWorked }).Take(5).ToList()); }
// POST api/ManageDevices public string Post([FromBody]ManageDevicesWeb md) { try { var dbCtxt = new WorkOrdersAppEntities(); var mdFound = dbCtxt.ManageDevices.Find(md.ID); if (mdFound == null) //insert { dbCtxt.ManageDevices.Add(new ManageDevice { UserID = md.UserID, DeviceID = md.DeviceID, DeviceGUID = md.GUID, LastUpdateBy = md.LastUpdateBy, LastUpdateDate = FormattingFunctions.ESTDateTime() }); } else //update { mdFound.UserID = md.UserID; mdFound.DeviceID = md.DeviceID; mdFound.DeviceGUID = md.GUID; mdFound.LastUpdateBy = md.LastUpdateBy; mdFound.LastUpdateDate = FormattingFunctions.ESTDateTime(); } dbCtxt.SaveChanges(); return "Success"; } catch { return "Failed"; } }
//GET api/Users/ID public string Get(string id) { try { var ctxt = new WorkOrdersAppEntities(); return JsonConvert.SerializeObject((from a in ctxt.ManageDevices join b in ctxt.refUsers on a.UserID equals b.ID where a.DeviceGUID.Equals(id) select b.First_Name + " " + b.Last_Name).FirstOrDefault()); } catch { return null; } }
// DELETE api/WorkOrders/5 public string Delete(int id) { try { var dbCtxt = new WorkOrdersAppEntities(); dbCtxt.WorkOrders.Remove(dbCtxt.WorkOrders.Find(id)); dbCtxt.SaveChanges(); return "Success"; } catch { return "Failed"; } }
// POST api/Devices public string Post([FromBody]ReferenceTableData refData) { //Add Devices to list from Admin Panel try { var dbCtxt = new WorkOrdersAppEntities(); dbCtxt.refDevices.Add(new refDevice() { DeviceName = refData.Value, Enabled = true }); dbCtxt.SaveChanges(); return "Success"; } catch { return "Failed"; } }
// DELETE api/Sites/5 public string Delete(int id) { //Disable Sites from list on Admin Panel try { var dbCtxt = new WorkOrdersAppEntities(); var record = dbCtxt.refSites.Find(id); if (record != null) { record.Enabled = false; dbCtxt.SaveChanges(); return "Success"; } return "Failed"; } catch { return "Failed"; } }
// GET api/ManageDevices public string Get() { //Gets list of records for Manage Devices page on Web UI var ctxt = new WorkOrdersAppEntities(); return JsonConvert.SerializeObject((from a in ctxt.ManageDevices join b in ctxt.refUsers on a.UserID equals b.ID join c in ctxt.refUsers on a.LastUpdateBy equals c.ID into cc from c2 in cc.DefaultIfEmpty() select new { ID = a.ID, UserID = b.ID, UserNameFirstName = b.First_Name, UserNameLastName = b.Last_Name, DeviceName = a.refDevice.DeviceName, GUID = a.DeviceGUID, LastUpdateBy = a.LastUpdateBy == null ? " " : c2.First_Name + " " + c2.Last_Name, LastUpdateDate = a.LastUpdateDate == null ? null : SqlFunctions.DatePart("MONTH", a.LastUpdateDate) + "/" + SqlFunctions.DatePart("DAY", a.LastUpdateDate) + "/" + SqlFunctions.DatePart("YEAR", a.LastUpdateDate) + " " + SqlFunctions.DatePart("HOUR", a.LastUpdateDate) + ":" + +SqlFunctions.DatePart("MINUTE", a.LastUpdateDate) }).ToList()); }
// DELETE api/ManageDevices/5 public string Delete(int id) { //Delete record from Manage Devices list on Web UI try { var dbCtxt = new WorkOrdersAppEntities(); var record = dbCtxt.ManageDevices.Find(id); if (record != null) { dbCtxt.ManageDevices.Remove(record); dbCtxt.SaveChanges(); return "Success"; } return "Failed"; } catch { return "Failed"; } }
// POST api/Jobs public string Post([FromBody]RefJobData refJobData) { //Add Job to list from Admin Panel try { var dbCtxt = new WorkOrdersAppEntities(); dbCtxt.refJobs.Add(new refJob() { SiteID = refJobData.SiteID, JobNumber = refJobData.JobNumber, JobName = refJobData.Value, Enabled = true }); dbCtxt.SaveChanges(); return "Success"; } catch { return "Failed"; } }
// POST api/Users public string Post([FromBody]RefUsersData refData) { //Adds a User on the Admin Panel try { var dbCtxt = new WorkOrdersAppEntities(); var userFound = dbCtxt.refUsers.Find(refData.ID); if (userFound == null) { dbCtxt.refUsers.Add(new refUser() { First_Name = refData.FirstName, Last_Name = refData.LastName, EmailAddress = refData.EmailAddress, WebUser = refData.WebUser, Admin = refData.Admin, Enabled = refData.Enabled }); }else { userFound.First_Name = refData.FirstName; userFound.Last_Name = refData.LastName; userFound.EmailAddress = refData.EmailAddress; userFound.WebUser = refData.WebUser; userFound.Admin = refData.Admin; userFound.Enabled = refData.Enabled; } dbCtxt.SaveChanges(); return "Success"; } catch { return "Failed"; } }
// POST api/WorkOrders public string Post([FromBody]WorkOrderWeb wo) { try { var dbCtxt = new WorkOrdersAppEntities(); var woFound = dbCtxt.WorkOrders.Find(wo.ID); if (woFound == null) //insert { dbCtxt.WorkOrders.Add(new WorkOrder { JobID = wo.JobID, SubmitUserID = wo.SubmittedUserID, SubmittedDate = FormattingFunctions.ESTDateTime(), RegHoursWorked = wo.RegWorkHours, OvertimeHoursWorked = wo.OvertimeWorkHours, Subject = wo.Subject, Description = wo.Description, LastUpdateBy = wo.LastUpdatedBy, LastUpdateDate = FormattingFunctions.ESTDateTime() }); } else //update { if (wo.JobID != 0)//Denotes incoming update from app or web page { woFound.JobID = wo.JobID; woFound.SubmitUserID = wo.SubmittedUserID; woFound.RegHoursWorked = wo.RegWorkHours; woFound.OvertimeHoursWorked = wo.OvertimeWorkHours; woFound.Subject = wo.Subject; woFound.Description = wo.Description; } woFound.Reviewed = wo.Reviewed; woFound.LastUpdateBy = wo.LastUpdatedBy; woFound.LastUpdateDate = FormattingFunctions.ESTDateTime(); } dbCtxt.SaveChanges(); return "Success"; } catch(Exception ex) { return "Failed: " + ex.Message + ": " + ex.InnerException; } }