Example #1
0
        public virtual IHttpActionResult GetSecondary <SECONDARY>(SECONDARY id, int size)
        {
            log.TraceFormat("GetSecondary<{0:S}::{1:S}({2:S}) requested", typeof(T).Name, typeof(SECONDARY).Name, id.ToString());

            try
            {
                T t = default(T);
                using (SqlConnection conn = new SqlConnection(Startup.ConnectionString))
                {
                    conn.Open();
                    using (var trans = conn.BeginTransaction())
                    {
                        t = DatabaseItem <K> .GetBySecondary <T, SECONDARY>(conn, trans, id, size);

                        trans.Commit();
                    }
                }

                if (t != null)
                {
                    return(Ok(t));
                }
                else
                {
                    return(NotFound());
                }
            }
            catch (Core.Exceptions.TSQLNotFoundException ex)
            {
                return(BadRequest(string.Format("Get secondary not supported by {0:S} ({1:S})", this.GetType().FullName, ex.ToString())));
            }
        }