public async Task <IActionResult> DeleteConfirmed(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            ResultObject resultObj;

            try
            {
                if (_cache.TryGetValue("CACHE_MASTER_MATERIAL", out List <M_Material> c_lstMat))
                {
                    var m_Material = c_lstMat.Find(m => m.Id == id);

                    if (m_Material == null)
                    {
                        return(NotFound());
                    }

                    m_Material.Updated_By = await base.CurrentUserId();

                    using (var matBll = new MaterialBLL())
                    {
                        resultObj = await matBll.DeleteMaterial(m_Material);

                        _cache.Remove("CACHE_MASTER_MATERIAL");
                    }

                    return(Json(new { success = true, data = (M_Material)resultObj.ObjectValue, message = "Material Deleted." }));
                }

                using (var matBll = new MaterialBLL())
                {
                    var lstMat = await matBll.GetMaterial(id);

                    var m_Material = lstMat.First();

                    if (m_Material == null)
                    {
                        return(NotFound());
                    }

                    m_Material.Updated_By = await base.CurrentUserId();

                    resultObj = await matBll.DeleteMaterial(m_Material);

                    _cache.Remove("CACHE_MASTER_MATERIAL");
                    _cache.Remove("CACHE_MASTER_MATERIAL_BYRAWTYPE");
                }

                return(Json(new { success = true, data = (M_Material)resultObj.ObjectValue, message = "Material Deleted." }));
            }
            catch (Exception ex)
            {
                return(Json(new { success = false, message = ex.Message }));
            }
        }