मुझे पता है कि सवाल आसान लगता है, लेकिन मैं जानना चाहता था कि क्या करने से बेहतर तरीका है?

अगर (पार्टनर। टाइप == "वैल्यू" या वैल्यू 2 या वैल्यू 3)

शायद डेटा एनोटेशन के साथ?

यह मेरी इकाई है POCO

 /// <summary>
    /// Partner Entity
    /// </summary>
    [SharedCosmosCollection("shared")]
    public class Partner : ISharedCosmosEntity
    {
        /// <summary>
        /// Partner id
        /// </summary>
        [JsonProperty("Id")]
        public string Id { get; set; }

        /// <summary>
        /// Partner name
        /// </summary>
        public string PartnerName { get; set; }

        /// <summary>
        /// Partner contact name
        /// </summary>
        public string PartnerContact { get; set; }

        /// <summary>
        /// Partner contact phone
        /// </summary>
        public string PartnerPhone { get; set; }

        /// <summary>
        /// Partner contact Office 365 domain
        /// </summary>
        public string PartnerDomain { get; set; }

        /// <summary>
        /// Partner type, silver, gold or platinum
        /// </summary>
        public string PartnerType { get; set; }

        /// <summary>
        /// Partner start date
        /// </summary>
        public DateTime StartDate { get; set; }

        /// <summary>
        /// Partner end date
        /// </summary>
        public DateTime EndDate { get; set; }

        /// <summary>
        /// Parter enabled
        /// </summary>
        public bool  Enabled { get; set; }

        [CosmosPartitionKey]
        public string CosmosEntityName { get; set; }
    }

और यह मेरा नियंत्रक है

 [HttpPost]
        public async Task<IHttpActionResult> AddPartner([FromBody]Partner partner)
        {
            var telemetry = new TelemetryClient();
            try
            {
                var partnerStore = CosmosStoreHolder.Instance.CosmosStorePartner;
                if (!ModelState.IsValid)
                {
                    return BadRequest(ModelState);
                }

                var added = await partnerStore.AddAsync(partner);
                return Ok(added);
            }
            catch (Exception ex)
            {
                string guid = Guid.NewGuid().ToString();
                var dt = new Dictionary<string, string>
                {
                    { "Error Lulo: ", guid }
                };

                telemetry.TrackException(ex, dt);
                return BadRequest("Error Lulo: " + guid);
            }
        }
0
Luis Valencia 25 अक्टूबर 2019, 17:03

1 उत्तर

सबसे बढ़िया उत्तर

अपनी संपत्ति पर डेटा एनोटेशन के रूप में रेगुलर एक्सप्रेशन वैलिडेटर का उपयोग करें।

[RegularExpression("^silver$|^gold$|^platinum$", ErrorMessage = "Invalid Value")]
public string PartnerType { get; set; }

पी.एस. रेगुलर एक्सप्रेशन को ट्विकिंग की आवश्यकता हो सकती है क्योंकि मैंने आपके द्वारा बताए गए संभावित मूल्यों से मेल खाने के लिए इसे केवल अपने सिर के शीर्ष पर टाइप किया है।

1
Angelo 25 अक्टूबर 2019, 17:46