/// <summary>
        /// Edits the specified identifier.
        /// </summary>
        /// <param name="id">The identifier.</param>
        /// <returns>ActionResult.</returns>
        public ActionResult Edit(int id)
        {
            var model = new DrugViewModel();
            model.DrugCategories = HealthHelper.GetAllDrugCategories();
            model.ActiveComponents = HealthHelper.GetAllActiveComponents();

            if (id != -1)
            {
                var svc = new DrugAppService();
                var o = svc.GetDrug(id);

                model.DrugId = o.DrugId;
                model.Name = o.Name;
                model.DrugSubCategoryId = o.DrugSubCategoryId;
                model.DrugCategoryId = o.DrugSubCategory.DrugCategoryId;
                model.ActiveComponentId = o.ActiveComponentId;
                model.IsActive = o.IsActive;

            }
            else
            {
                model.Action = "-1";
                model.DrugId = -1;
                model.Name = string.Empty;
                model.DrugCategoryId = -1;
                model.ActiveComponentId = -1;
            }



            return View(model);
        }
        public ActionResult Edit(DrugViewModel model)
        {

            model.DrugCategories = HealthHelper.GetAllDrugCategories();
            model.ActiveComponents = HealthHelper.GetAllActiveComponents();

         

            try
            {
                var svc = new DrugAppService();

                var o = new Drug
                {
                    DrugId = model.DrugId,
                    Name = model.Name,
                    DrugSubCategoryId = model.DrugSubCategoryId,
                    ActiveComponentId = model.ActiveComponentId,
                    IsActive = model.IsActive

                };

                if (model.Action == "-1")
                {
                    var exist = svc.GetDrug(model.DrugId) != null;
                    if (!exist)
                    {
                        svc.AddDrug(o);
                        ViewBag.Feed = 0;
                    }
                    else
                    {
                        model.Action = "-1";
                        ViewBag.Feed = 3;
                        return View(model);
                    }
                }
                else
                {
                    o.DrugId = model.DrugId;
                    if (model.IsDeleteAction == 0)
                    {

                        svc.SaveDrug(o);
                    }
                    else
                    {
                        svc.RemoveDrug(model.DrugId);
                    }
                    ViewBag.Feed = 0;
                }
            }
            catch (Exception)
            {
                ViewBag.Feed = 1;

            }

            return View(model);
        }
        public DataTablesResult<DrugViewModel> GetAllRecords(DataTablesParam dataTableParam)
        {

            var svc = new DrugAppService();
            var lst = svc.GetAllDrug();
            var lstVm = new List<DrugViewModel>();
            foreach (var itm in lst)
            {

                var itmVm = new DrugViewModel
                {

                    Name = itm.Name,
                    DrugId = itm.DrugId,
                    SubCategoryText = itm.DrugSubCategory.Name,
                    CategoryText = itm.DrugSubCategory.DrugCategory.Name,
                    ActiveComponentText= itm.ActiveComponent.Name
                    

                };
                itmVm.IsActiveText = itm.IsActive ? "Sí" : "No";




                var sb = new StringBuilder();

                string editUrl = Url.Action("Edit", "Drug");
                sb.AppendLine("<div class=\"btn-group\">");
                sb.AppendLine(
                    "<button type=\"button\" class=\"btn btn-default dropdown-toggle\" data-toggle=\"dropdown\" aria-expanded=\"false\">");
                sb.AppendLine("Acciones <span class=\"caret\"></span>");
                sb.AppendLine("</button>");
                sb.AppendLine("<ul class=\"dropdown-menu\" role=\"menu\">");
                sb.AppendLine("<li><a href=\"" + editUrl + "?id=-1\"><i class=\"fa fa-plus\"></i>&nbsp;Nuevo Registro</a></li>");
                sb.AppendLine("<li><a href=\"" + editUrl + "?id=" + itmVm.DrugId + "\"><i class=\"fa fa-edit\"></i>&nbsp;Editar " + itmVm.Name + "</a></li>");
                sb.AppendLine("</ul>");
                sb.AppendLine("</div>");






                var actionButton = sb.ToString();

                itmVm.ActionButton = actionButton;
                lstVm.Add(itmVm);

            }

            var lstVmQueryable = lstVm.AsQueryable();


            return DataTablesResult.Create(lstVmQueryable, dataTableParam);

        }