示例#1
0
        /// <summary>
        /// UpdateMetadataInfo
        /// </summary>
        /// <param name="payload"></param>
        /// <returns></returns>
        public dynamic UpdateMetadataInfo(UpdateMetadataPayload payload)
        {
            using (SqlConnection sqlCon = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["CC_ProdConn"].ConnectionString))
            {
                sqlCon.Open();
                foreach (var data in payload.metaDataItems)
                {
                    string sql;
                    if ((data.value.GetType() == typeof(Int64) ||
                         data.value.GetType() == typeof(float) ||
                         data.value.GetType() == typeof(double) ||
                         data.value.GetType() == typeof(Int32) ||
                         data.value.GetType() == typeof(Int16) ||
                         data.value.GetType() == typeof(decimal)) && (data.value as string).ToLower() != "appname" && (data.value as string).ToLower() != "id")
                    {
                        sql = "update xrn_clone set " + data.name + " = " + (data.value == null) ? DBNull.Value : data.value + " where  id=@id";
                    }
                    else if (data.value != null)
                    {
                        sql = "update xrn_clone set " + data.name + " = '" + data.value + "' where  id=@id";
                    }
                    else
                    {
                        sql = "update xrn_clone set " + data.name + " = NULL' where  id=@id";
                    }

                    SqlCommand reply;

                    reply = new SqlCommand(sql, sqlCon);
                    reply.CommandTimeout = 60;
                    reply.Parameters.AddWithValue("@id", payload.id);
                    reply.ExecuteNonQuery();
                }
                sqlCon.Close();
                sqlCon.Dispose();
                string userName;
                if (HttpContext.Current.Request.UrlReferrer.Host.Contains("localhost") && HttpContext.Current.Request.UrlReferrer.Port == 51268)
                {
                    userName = "******";// HttpContext.Current.User.Identity.Name;
                }
                else
                {
                    userName = HttpContext.Current.User.Identity.Name;
                }
                var guidelines = new GuidelinesLayer();
                try
                {
                    return(guidelines.GetGuidelines(0, null, payload.id, userName));
                }
                catch (InvalidOperationException)
                {
                    return("Selected scorecard does not contain record with this ID");
                }
                catch (Exception)
                {
                    return(new GuidelineScorecardInfo());
                }
            }
        }
        public dynamic UpdateMetadataInfo([FromBody] UpdateMetadataPayload payload)
        {
            GuidelinesLayer guidelinesLayer = new GuidelinesLayer();

            return(guidelinesLayer.UpdateMetadataInfo(payload));
        }