public HttpResponseMessage SendComplaint(IncidentAddRequest model) { HttpResponseMessage resp = null; try { //ComplaintStatusType status = ComplaintStatusType.NotSet; //Check location and category of tweet to see if complaint already exists //WehackDataService service = new WehackDataService(); IncidentResponse incident = /*service*/_wehackDataService.CreateComplaint(model); if (incident == null || incident.TweetId == null) { //get auth context //create tweet //assign tweetId back to database //template: @riadosaband Issue #93 Pothole! 33.940109, -118.133159 #lahasissues var categoryString = model.categoryId == 1 ? "Pothole" : "Streetlight"; var tweet = "@riadosaband " + categoryString + " #" + incident.IncidentId.ToString() + " " + model.Lat + ", " + model.Lng + " #lahasissues"; TwitterActionController contrlr = new TwitterActionController(); contrlr.Send(tweet); incident.TweetId = 688120489823186944; //<--- this is for testing!! //assign tweetId back to database; update tweet; use UPDATE stored proc IncidentUpdateRequest iur = new IncidentUpdateRequest(); iur.TweetId = (long)incident.TweetId; //3333333333; iur.IncidentId = incident.IncidentId; _wehackDataService.UpdateComplaint(iur); } else { //retweet existing tweet } //ComplaintModel existingComplaint = WehackDataService.GetComplaint(model); //if(existingComplaint == null) { WehackDataService.CreateComplaint(model); } // else { //bool userIsAdmin = WehackDataService.CheckIfUserAdmin(model.userId); //if(userisAdmin) //{ // status = model.Message.ParseStatus(); // if(status == ComplaintStatusType.Resolved) { WehackDataService.SendResolve(existingComplaint); } //} //else //TwitterService.Retweet(existingComplaint); //} resp = Request.CreateResponse(HttpStatusCode.OK); } catch (Exception ex) { resp = Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex); } return resp; }
public void UpdateComplaint(IncidentUpdateRequest model/*, long tweetId*/) { //var id = 0; List<SqlParameter> collection = new List<SqlParameter>(); collection.Add(CreateParameter("@Id", model.IncidentId, SqlDbType.Int, ParameterDirection.Output)); collection.Add(CreateParameter("@tweetId", model.TweetId, SqlDbType.BigInt, ParameterDirection.Input)); ExecuteNonQuery("wehackdb", "dbo.update_tweetId", collection); //id = (int)collection.FirstOrDefault(x => x.ParameterName == "@userId").SqlValue; //IncidentResponse resp = new IncidentResponse(); //resp.TweetId = (long)collection.FirstOrDefault(x => x.ParameterName == "@TweetId").SqlValue; //resp.IncidentId = (int)collection.FirstOrDefault(x => x.ParameterName == "@IncidentId").SqlValue; //return resp; }