public IHttpActionResult Delete(int medalId, int userId, bool final)
        {
            var re = Request;
            var headers = re.Headers;
            string token = "";
            if (headers.Contains("APIKey"))
            {
                token = headers.GetValues("APIKey").First();
            }

            Validation validation = new Validation();
            bool valid = validation.CheckApiKey(token);
            if (valid)
            {
                if (final)
                {
                    try
                    {
                        using (incposdbEntities entity = new incposdbEntities())
                        {
                            medals medalObj = entity.medals.Find(medalId);

                            entity.medals.Remove(medalObj);
                            entity.SaveChanges();

                            return Ok("medal is Deleted Successfully");
                        }
                    }
                    catch
                    {
                        return NotFound();
                    }
                }
                else
                {
                    try
                    {
                        using (incposdbEntities entity = new incposdbEntities())
                        {
                            medals medalObj = entity.medals.Find(medalId);

                            medalObj.isActive = 0;
                            medalObj.updateUserId = userId;
                            medalObj.updateDate = DateTime.Now;
                            entity.SaveChanges();

                            return Ok("Deleted Successfully");
                        }
                    }
                    catch
                    {
                        return Ok("Not Deleted");
                    }
                }
            }
            else
                return Ok("isActive Not changed");
        }
        public string Save(string medalObject)
        {
            var re = Request;
            var headers = re.Headers;
            string token = "";
               string message = "";
            if (headers.Contains("APIKey"))
            {
                token = headers.GetValues("APIKey").First();
            }
            Validation validation = new Validation();
            bool valid = validation.CheckApiKey(token);

            if (valid)
            {
                medalObject = medalObject.Replace("\\", string.Empty);
                medalObject = medalObject.Trim('"');
                medals Object = JsonConvert.DeserializeObject<medals>(medalObject, new JsonSerializerSettings { DateParseHandling = DateParseHandling.None });
                try
                {
                    using (incposdbEntities entity = new incposdbEntities())
                    {
                        var medalEntity = entity.Set<medals>();
                        if (Object.medalId == 0)
                        {

                            Object.createDate = DateTime.Now;
                            Object.updateDate = DateTime.Now;
                            Object.updateUserId = Object.createUserId;
                            medalEntity.Add(Object);
                            entity.SaveChanges();
                      message = Object.medalId.ToString();
                        }
                        else
                        {

                            var tmpmedal = entity.medals.Where(p => p.medalId == Object.medalId).FirstOrDefault();

                            tmpmedal.medalId = Object.medalId;

                            tmpmedal.name = Object.name;

                            tmpmedal.notes = Object.notes;

                            tmpmedal.createDate = Object.createDate;
                            tmpmedal.updateDate = Object.updateDate;
                            tmpmedal.createUserId = Object.createUserId;
                            tmpmedal.updateUserId = Object.updateUserId;
                            tmpmedal.isActive = Object.isActive;
                            tmpmedal.updateDate = DateTime.Now;// server current date;
                            tmpmedal.updateUserId = Object.updateUserId;
                            tmpmedal.symbol = Object.symbol;
                   tmpmedal.CashPointsRequired=Object.CashPointsRequired;
                   tmpmedal.invoiceCountPointsRequired=Object.invoiceCountPointsRequired;

                            entity.SaveChanges();

                            message = tmpmedal.medalId.ToString();
                        }

                    }
                    return message;
                }

                catch
                {
                    return "-1";
                }
            }
            else
                return "-1";
        }