SHARE
TWEET

Untitled

a guest Dec 6th, 2019 95 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using Ligtas.PH.App_Code;
  2. using Ligtas.PH.Models;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.ComponentModel;
  6. using System.Data.SqlClient;
  7. using System.Globalization;
  8. using System.Linq;
  9. using System.Net;
  10. using System.Net.Http;
  11. using System.Web.Http;
  12. using System.Web.Http.Controllers;
  13. using System.Web.Http.Filters;
  14.  
  15. namespace Ligtas.PH.Controllers
  16. {
  17.     //Type Converter
  18.     public class ArrayInputAttribute : ActionFilterAttribute
  19.     {
  20.         private readonly string[] _parameternames;
  21.  
  22.         public string Separator { get; set; }
  23.  
  24.  
  25.         public ArrayInputAttribute(params string[] parameternames)
  26.         {
  27.             _parameternames = parameternames;
  28.             Separator = ",";
  29.         }
  30.  
  31.  
  32.  
  33.         public void ProcessArrayInput(HttpActionContext actionContext, string parametername)
  34.         {
  35.             if (actionContext.ActionArguments.ContainsKey(parametername))
  36.             {
  37.                 var parameterdescriptor = actionContext.ActionDescriptor.GetParameters().FirstOrDefault(p => p.ParameterName == parametername);
  38.  
  39.                 if (parameterdescriptor != null && parameterdescriptor.ParameterType.IsArray)
  40.                 {
  41.                     var type = parameterdescriptor.ParameterType.GetElementType();
  42.                     var parameters = String.Empty;
  43.                     if (actionContext.ControllerContext.RouteData.Values.ContainsKey(parametername))
  44.                     {
  45.                         parameters = (string)actionContext.ControllerContext.RouteData.Values[parametername];
  46.                     }
  47.                     else
  48.                     {
  49.                         var queryString = actionContext.ControllerContext.Request.RequestUri.ParseQueryString();
  50.                         if (queryString[parametername] != null)
  51.                         {
  52.                             parameters = queryString[parametername];
  53.                         }
  54.                     }
  55.  
  56.                     var values = parameters.Split(new[] { Separator }, StringSplitOptions.RemoveEmptyEntries)
  57.                         .Select(TypeDescriptor.GetConverter(type).ConvertFromString).ToArray();
  58.                     var typedValues = Array.CreateInstance(type, values.Length);
  59.                     values.CopyTo(typedValues, 0);
  60.                     actionContext.ActionArguments[parametername] = typedValues;
  61.                 }
  62.             }
  63.         }
  64.  
  65.         public override void OnActionExecuting(HttpActionContext actionContext)
  66.         {
  67.  
  68.             foreach (var parameterName in _parameternames)
  69.             {
  70.                 ProcessArrayInput(actionContext, parameterName);
  71.             }
  72.         }
  73.     }
  74.     public class IncidentController : ApiController
  75.     {
  76.         // GET: api/Incident
  77.         [HttpGet]
  78.         [ArrayInput("incident_type")]
  79.         [Route("api/Incident/{incident_type?}")]
  80.         public List<IncidentModel> Get([FromUri] string[] incident_type)
  81.         {
  82.             var list = new List<IncidentModel>();
  83.  
  84.             string[] temp_incident_type = new string[7];
  85.             for (int i = 0; i < incident_type.Count(); i++)
  86.             {
  87.                 temp_incident_type[i] = incident_type[i];
  88.                 if (!string.IsNullOrEmpty(temp_incident_type[i]) && !string.IsNullOrEmpty(incident_type[i]))
  89.                 {
  90.                     using (SqlConnection con = new SqlConnection(Helper.GetCon()))
  91.                     {
  92.                         con.Open();
  93.                         string query = @"Select incident_type,firstname,lastname,lat,lng,dateadded,datereported,crime_upvote
  94.                      FROM crime_table WHERE
  95.                      incident_type = @paramsincident_type1
  96.                      OR incident_type = @paramsincident_type2
  97.                      OR incident_type = @paramsincident_type3
  98.                      OR incident_type = @paramsincident_type4
  99.                      OR incident_type = @paramsincident_type5
  100.                      OR incident_type = @paramsincident_type6
  101.                      OR incident_type = @paramsincident_type7";
  102.                         using (SqlCommand cmd = new SqlCommand(query, con))
  103.                         {
  104.  
  105.                             if (!string.IsNullOrEmpty(temp_incident_type[0]) || !string.IsNullOrWhiteSpace(temp_incident_type[0]))
  106.                             {
  107.                                 cmd.Parameters.AddWithValue("@paramsincident_type1", temp_incident_type[0]);
  108.                             }
  109.                             else cmd.Parameters.AddWithValue("@paramsincident_type1", DBNull.Value);
  110.  
  111.                             if (!string.IsNullOrEmpty(temp_incident_type[1]) || !string.IsNullOrWhiteSpace(temp_incident_type[1]))
  112.                             {
  113.                                 cmd.Parameters.AddWithValue("@paramsincident_type2", temp_incident_type[1]);
  114.                             }
  115.                             else cmd.Parameters.AddWithValue("@paramsincident_type2", DBNull.Value);
  116.  
  117.                             if (!string.IsNullOrEmpty(temp_incident_type[2]) || !string.IsNullOrWhiteSpace(temp_incident_type[2]))
  118.                             {
  119.                                 cmd.Parameters.AddWithValue("@paramsincident_type3", temp_incident_type[2]);
  120.                             }
  121.                             else cmd.Parameters.AddWithValue("@paramsincident_type3", DBNull.Value);
  122.  
  123.                             if (!string.IsNullOrEmpty(temp_incident_type[3]) || !string.IsNullOrWhiteSpace(temp_incident_type[3]))
  124.                             {
  125.                                 cmd.Parameters.AddWithValue("@paramsincident_type4", temp_incident_type[3]);
  126.                             }
  127.                             else cmd.Parameters.AddWithValue("@paramsincident_type4", DBNull.Value);
  128.  
  129.                             if (!string.IsNullOrEmpty(temp_incident_type[4]) || !string.IsNullOrWhiteSpace(temp_incident_type[4]))
  130.                             {
  131.                                 cmd.Parameters.AddWithValue("@paramsincident_type5", temp_incident_type[4]);
  132.                             }
  133.                             else cmd.Parameters.AddWithValue("@paramsincident_type5", DBNull.Value);
  134.  
  135.                             if (!string.IsNullOrEmpty(temp_incident_type[5]) || !string.IsNullOrWhiteSpace(temp_incident_type[5]))
  136.                             {
  137.                                 cmd.Parameters.AddWithValue("@paramsincident_type6", temp_incident_type[5]);
  138.                             }
  139.                             else cmd.Parameters.AddWithValue("@paramsincident_type6", DBNull.Value);
  140.  
  141.                             if (!string.IsNullOrEmpty(temp_incident_type[6]) || !string.IsNullOrWhiteSpace(temp_incident_type[6]))
  142.                             {
  143.                                 cmd.Parameters.AddWithValue("@paramsincident_type7", temp_incident_type[6]);
  144.                             }
  145.                             else cmd.Parameters.AddWithValue("@paramsincident_type7", DBNull.Value);
  146.  
  147.  
  148.  
  149.                             using (SqlDataReader dr = cmd.ExecuteReader())
  150.                             {
  151.                                 while (dr.Read())
  152.                                 {
  153.                                     list.Add(new IncidentModel
  154.                                     {
  155.                                         incident_type = dr["incident_type"].ToString(),
  156.                                         firstname = dr["firstname"].ToString(),
  157.                                         lastname = dr["lastname"].ToString(),
  158.                                         lat = float.Parse(dr["lat"].ToString()),
  159.                                         lng = float.Parse(dr["lng"].ToString()),
  160.                                         dateadded = DateTime.Parse(dr["dateadded"].ToString()),
  161.                                         datereported = DateTime.Parse(dr["datereported"].ToString()),
  162.                                         //dateadded = DateTime.Parse(dr["dateadded"].ToString()),
  163.                                         //datereported = DateTime.Parse(dr["datereported"].ToString()),
  164.                                         crime_upvote = int.Parse(dr["crime_upvote"].ToString())
  165.                                     });
  166.                                 }
  167.                             }
  168.                             con.Close();
  169.                         }
  170.                         return list;
  171.                     }
  172.                 }
  173.             }
  174.    
  175.                     using (SqlConnection con = new SqlConnection(Helper.GetCon()))
  176.                     {
  177.                         con.Open();
  178.                         string query1 = @"Select incident_type,firstname,lastname,lat,lng,dateadded,datereported,crime_upvote
  179.                      FROM crime_table";
  180.                         using (SqlCommand cmd = new SqlCommand(query1, con))
  181.                         {
  182.                             using (SqlDataReader dr = cmd.ExecuteReader())
  183.                             {
  184.                                 while (dr.Read())
  185.                                 {
  186.                                     list.Add(new IncidentModel
  187.                                     {
  188.                                         incident_type = dr["incident_type"].ToString(),
  189.                                         firstname = dr["firstname"].ToString(),
  190.                                         lastname = dr["lastname"].ToString(),
  191.                                         lat = float.Parse(dr["lat"].ToString()),
  192.                                         lng = float.Parse(dr["lng"].ToString()),
  193.                                         dateadded = DateTime.Parse(dr["dateadded"].ToString()),
  194.                                         datereported = DateTime.Parse(dr["datereported"].ToString()),
  195.                                         //dateadded = DateTime.Parse(dr["dateadded"].ToString()),
  196.                                         //datereported = DateTime.Parse(dr["datereported"].ToString()),
  197.                                         crime_upvote = int.Parse(dr["crime_upvote"].ToString())
  198.                                     });
  199.                                 }
  200.                             }
  201.                             con.Close();
  202.                            
  203.                         }
  204.                     }
  205.            
  206.             return list;
  207.         }
  208.  
  209.         // GET: api/Incident/5
  210.         public IncidentModel Get(int id,  string sort)
  211.         {
  212.             var record = new IncidentModel();
  213.  
  214.  
  215.             using (SqlConnection con = new SqlConnection(Helper.GetCon()))
  216.             {
  217.                 con.Open();
  218.              string query = @"Select incident_type,firstname,lastname,lat,lng,dateadded,datereported,incident_upvote
  219.                                  FROM crime_table where crime_ID = @crime_ID";
  220.                
  221.  
  222.                 using (SqlCommand cmd = new SqlCommand(query, con))
  223.                 {
  224.                     cmd.Parameters.AddWithValue("@user_ID", id);
  225.                     using (SqlDataReader dr = cmd.ExecuteReader())
  226.                     {
  227.                         if (dr.HasRows)
  228.                         {
  229.                             while (dr.Read())
  230.                             {
  231.                                 record.crime_ID = int.Parse(dr["incident_ID"].ToString());
  232.                                 record.firstname = dr["firstname"].ToString();
  233.                                 record.lastname = dr["lastname"].ToString();
  234.                                 record.lat = float.Parse(dr["lat"].ToString());
  235.                                 record.lng = float.Parse(dr["lng"].ToString());
  236.                                 record.dateadded = DateTime.Parse(dr["dateadded"].ToString());
  237.                                 record.datereported = DateTime.Parse(dr["datereported"].ToString());
  238.                                 record.crime_upvote = int.Parse(dr["crime_upvote"].ToString());
  239.                             }
  240.                         }
  241.  
  242.                     }
  243.                 }
  244.             }
  245.             return record;
  246.         }
  247.  
  248.         // POST: api/Incident
  249.         public string Post(IncidentModel record)
  250.         {
  251.            
  252.                 using (SqlConnection con = new SqlConnection(Helper.GetCon()))
  253.                 {
  254.                     con.Open();
  255.                     string query = "INSERT INTO crime_table VALUES (@incident_type,@firstname,@lastname,@lat,@lng,@dateadded,@datereported,@crime_upvote,@description)";
  256.                     using (SqlCommand cmd = new SqlCommand(query, con))
  257.                     {
  258.                         cmd.Parameters.AddWithValue("@incident_type", record.incident_type);
  259.                         cmd.Parameters.AddWithValue("@firstname", record.firstname);
  260.                         cmd.Parameters.AddWithValue("@lastname", record.lastname);
  261.                         cmd.Parameters.AddWithValue("@lat", record.lat);
  262.                         cmd.Parameters.AddWithValue("@lng", record.lng);
  263.                         record.dateadded = DateTime.Now;
  264.                         cmd.Parameters.AddWithValue("@dateadded", record.dateadded);
  265.                         record.datereported = DateTime.Now;
  266.                         cmd.Parameters.AddWithValue("@datereported", record.datereported);
  267.                         cmd.Parameters.AddWithValue("@crime_upvote", record.crime_upvote);
  268.                         cmd.Parameters.AddWithValue("@description", record.description);
  269.                         cmd.ExecuteNonQuery();
  270.                         con.Close();
  271.                         return "Added Sucessfully";
  272.                     }
  273.                 }
  274.             }
  275.  
  276.            
  277.            
  278.      
  279.  
  280.     }
  281. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top