public JsonResult SaveReportComponent(ReportComponentInfo info)
        {
            ResultModel <ReportComponentInfo> result = new ResultModel <ReportComponentInfo>();

            if (CheckSession(false) == false)
            {
                return(Json(ResultModelBase.CreateTimeoutModel(), JsonRequestBehavior.AllowGet));
            }
            if (CheckSessionID() == false)
            {
                return(Json(ResultModelBase.CreateLogoutModel(), JsonRequestBehavior.AllowGet));
            }
            try
            {
                List <UploadFileInfo> fileReportComponent = GetUploadFilesInSession();

                if (fileReportComponent != null)
                {
                    foreach (UploadFileInfo file in fileReportComponent)
                    {
                        file.FileContent = ParseBase64String(file.FileContent);
                    }
                }

                info        = dispatchManager.SaveReportComponent(info, fileReportComponent);
                result.Data = info;
            }
            catch (Exception ex)
            {
                NLog.LogManager.GetCurrentClassLogger().Error(ex, ex.Message);
                result.SetFailed(ResultCodes.SystemError, ControlManager.GetSettingInfo().ErrorMessage);
            }
            return(JsonResult(result));
        }