public ActionResult Create(IndicatorViewModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    IndicatorsAPI    api  = new IndicatorsAPI(util);
                    List <Indicator> data = new List <Indicator>();

                    Indicator ioc = new Indicator();
                    ioc.Description    = model.Description;
                    ioc.Policy         = model.Policy;
                    ioc.Source         = model.Source;
                    ioc.Type           = model.Type;
                    ioc.Value          = model.Value;
                    ioc.ExpirationDays = model.ExpirationDays;

                    data.Add(ioc);
                    api.Upload(data);
                    return(RedirectToAction("Index"));
                }
                catch (Exception e)
                {
                    ModelState.AddModelError(String.Empty, e.Message);
                }
            }
            return(View(model));
        }
        public ActionResult Edit(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            IndicatorsAPI api = new IndicatorsAPI(util);
            Indicator     ioc = api.Get(id);

            IndicatorViewModel model = new IndicatorViewModel();

            model.Description = ioc.Description;
            model.Policy      = ioc.Policy;
            model.ShareLevel  = ioc.ShareLevel;
            model.Source      = ioc.Source;
            model.Type        = ioc.Type;
            model.Value       = ioc.Value;

            TimeSpan?diff = ioc.ExpirationTimestamp - ioc.CreatedTimestamp;

            model.ExpirationDays = diff.Value.Days + 1;

            return(View(model));
        }
        public ActionResult Delete(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            try
            {
                IndicatorsAPI api = new IndicatorsAPI(util);
                api.Delete(id);
                Response.StatusCode = 200;
                return(new EmptyResult());
            }
            catch (Exception e)
            {
                Response.StatusCode = 500;
                return(Content(e.Message));
            }
        }
        public ActionResult Edit(IndicatorViewModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    IndicatorsAPI api = new IndicatorsAPI(util);

                    Indicator ioc = new Indicator();
                    ioc.Description    = model.Description;
                    ioc.Policy         = model.Policy;
                    ioc.Source         = model.Source;
                    ioc.ExpirationDays = model.ExpirationDays;
                    api.Update(ioc, model.Type + ":" + model.Value);
                    return(RedirectToAction("Index"));
                }
                catch (Exception e)
                {
                    ModelState.AddModelError(String.Empty, e.Message);
                }
            }
            return(View(model));
        }
        public ActionResult Index()
        {
            IndicatorsAPI api = new IndicatorsAPI(util);

            return(View(api.List()));
        }