public ActionResult ProjectStatusUpdate(string ids, byte status) { string res = ""; if (SecurityCache.FormCan("Project", SecurityPermissionBaseTypeEnum.Edit)) { List <Guid> guids = new List <Guid>(); string[] separateIds = ids.Split(new string[] { ",", ", " }, StringSplitOptions.RemoveEmptyEntries); Guid parseId; foreach (string id in separateIds) { if (Guid.TryParse(id, out parseId)) { guids.Add(parseId); } else { return(Content(ServiceStack.Text.JsonSerializer.SerializeToString <string>(null))); } } OptimaJet.BJet.VTB.Project.SetStatus(guids, status); res = OptimaJet.Localization.LocalizationProvider.Provider.Get("The operation is completed") + "!"; return(Content(DynamicEntityJSONDataSource.GetSuccess(res))); } else { res = OptimaJet.Localization.LocalizationProvider.Provider.Get("Access is denied") + "!"; return(Content(DynamicEntityJSONDataSource.GetNotSuccess(res))); } }
public ActionResult BudgetRollbackToVersion(Guid budgetid, Guid versionid, bool ignorecheck = false) { string message = string.Empty; if (!SecurityCache.FormCan("Budget", "RollbackVersion")) { message = OptimaJet.Localization.LocalizationProvider.Provider.Get("Access is denied"); return(new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetNotSuccess(message) }); } bool needConfirm; var success = BudgetItem.RollbackToVersion(budgetid, versionid, ignorecheck, out needConfirm, out message); if (!success) { return new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetNotSuccess(message) } } ; return(new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetSuccess(message, needConfirm) }); }
public ActionResult GetDocumentIds(Guid docTypeId, long startIndex = 0, long count = 0) { if (!CheckCurrentPermission()) { return(Content(WsFactory.GetАccessDeniedHtmlFrom())); } string metaViewName = WsFactory.GetMetaViewByDocTypeForSearch(docTypeId); ArrayList ids = new ArrayList(); if (!string.IsNullOrWhiteSpace(metaViewName)) { var dataSource = new DynamicEntityJSONDataSource(); var data = dataSource.GetDataKey(metaViewName, null, startIndex, count); data.ToDataTable(); var att = data.Metadata.Attributes.FirstOrDefault(); foreach (DynamicEntity item in data.Entities) { ids.Add(item.GetProperty(att.PropertyName)); } } return(new ContentResult { ContentType = "text/html", Content = JsonSerializer.SerializeToString(ids) }); }
public ActionResult Bulk(string metaViewName) { var dataSource = new DynamicEntityJSONDataSource(); var isNew = Request.HttpMethod.Equals("POST", StringComparison.InvariantCultureIgnoreCase); SecurityPermissionBaseTypeEnum type = isNew ? SecurityPermissionBaseTypeEnum.Add : SecurityPermissionBaseTypeEnum.Edit; if (!SecurityCache.ViewCan(metaViewName, type)) { return new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetNotSuccess(WsFactory.GetАccessDeniedPage()) }; } var entityOperationType = DynamicEntityJSONDataSource.GetEntityOperationType(Request.QueryString); return new ContentResult { ContentType = "text/html", Content = dataSource.BulkApply(metaViewName, Request.Body(), isNew, entityOperationType) }; }
public ActionResult BudgetRecalc(Guid id) { string res = string.Empty; if (SecurityCache.FormCan("Budget", "Recalc")) { try { OptimaJet.BJet.VTB.BudgetItem.RecalcBudget(id); res = OptimaJet.Localization.LocalizationProvider.Provider.Get("Recalculation complete"); } catch (Exception ex) { Logger.Log.Error(ex); return(new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetNotSuccess(ex.Message) }); } } else { res = OptimaJet.Localization.LocalizationProvider.Provider.Get("Access is denied"); } return(new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetSuccess(res) }); }
public ActionResult Bulk(string metaViewName) { var dataSource = new DynamicEntityJSONDataSource(); var isNew = Request.HttpMethod.Equals("POST", StringComparison.InvariantCultureIgnoreCase); SecurityPermissionBaseTypeEnum type = isNew ? SecurityPermissionBaseTypeEnum.Add : SecurityPermissionBaseTypeEnum.Edit; if (!SecurityCache.ViewCan(metaViewName, type)) { return(new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetNotSuccess(WsFactory.GetАccessDeniedPage()) }); } var entityOperationType = DynamicEntityJSONDataSource.GetEntityOperationType(Request.QueryString); return(new ContentResult { ContentType = "text/html", Content = dataSource.BulkApply(metaViewName, Request.Body(), isNew, entityOperationType) }); }
public ActionResult BudgetItemUploadFromExcel(string ignoreerror = null, string impimport = null) { var fileName = Guid.NewGuid().ToString("N"); var filePath = Server.MapPath(Settings.Current["TemporaryFolderForImportExport"]); ExcelType excelType = ExcelType.Xlsx; try { if (Request.Files.Count != 1 || Request.Files[0] == null) { return new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetNotSuccess("Неверное количество файлов в запросе.") } } ; var ds = ExcelHelper.FromExcel(Request.Files[0].InputStream, fileName, filePath, excelType); var report = ""; OptimaJet.BJet.VTB.BudgetItem.Import(ds, out report, ignoreerror == "on", impimport == "on", BudgetItemImportProgress); return(new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetSuccess(report.Replace("\r\n", "</br>")) }); } catch (Exception ex) { Logger.Log.Error(string.Format("Ошибка загрузки шаблона Budget Items"), ex); return(new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetNotSuccess(ex.Message) }); } finally { try { var fullName = ExcelHelper.GetFullFilePath(fileName, filePath, excelType); if (System.IO.File.Exists(fullName)) { System.IO.File.Delete(fullName); } } catch (Exception ex) { Logger.Log.Error("Ошибка удаления временного файла", ex); } } }
public ActionResult GetDocumentCount(Guid docTypeId) { if (!CheckCurrentPermission()) return Content(WsFactory.GetАccessDeniedHtmlFrom()); string metaViewName = WsFactory.GetMetaViewByDocTypeForSearch(docTypeId); long count = 0; if (!string.IsNullOrWhiteSpace(metaViewName)) { var dataSource = new DynamicEntityJSONDataSource(); count = dataSource.GetDataCount(metaViewName, null); } return Content(JsonSerializer.SerializeToString(count)); }
public ActionResult GetBudgetVersions(Guid id, bool excludecurrent) { var budgetversions = excludecurrent ? DynamicRepository.GetByEntity("BudgetVersion", FilterCriteriaSet.And.Equal(id, "BudgetId").NotEqual(true, "IsCurrent"), OrderByCriteriaSet.Asc("Name")) : DynamicRepository.GetByEntity("BudgetVersion", FilterCriteriaSet.And.Equal(id, "BudgetId"), OrderByCriteriaSet.Asc("Name")); return(new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetSuccessWithPlainSerializedValues("OK", budgetversions, "values") }); }
public ActionResult GetHistory(string metaViewName, Guid id) { if (!SecurityCache.ViewCan(metaViewName, SecurityPermissionBaseTypeEnum.View)) { return(new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetNotSuccess(WsFactory.GetАccessDeniedPage()) }); } return(new ContentResult { ContentType = "text/html", Content = VersionFormatter.GetObjectHistoryInHtml(id) }); }
public ActionResult GetDocumentCount(Guid docTypeId) { if (!CheckCurrentPermission()) { return(Content(WsFactory.GetАccessDeniedHtmlFrom())); } string metaViewName = WsFactory.GetMetaViewByDocTypeForSearch(docTypeId); long count = 0; if (!string.IsNullOrWhiteSpace(metaViewName)) { var dataSource = new DynamicEntityJSONDataSource(); count = dataSource.GetDataCount(metaViewName, null); } return(Content(JsonSerializer.SerializeToString(count))); }
public ActionResult InvoiceToState(Guid id, byte state) { string res = string.Empty; if (!SecurityCache.FormCan("Invoice", "ChangeState")) { return(new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetNotSuccess(OptimaJet.Localization.LocalizationProvider.Provider.Get("Access is denied")) }); } try { var error = OptimaJet.BJet.VTB.Invoice.ToState(id, state); if (!string.IsNullOrWhiteSpace(error)) { return(new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetNotSuccess(error) }); } res = OptimaJet.Localization.LocalizationProvider.Provider.Get("State is changed"); } catch (Exception ex) { Logger.Log.Error(ex); return(new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetNotSuccess(ex.Message) }); } return(new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetSuccess(res) }); }
public ActionResult BudgetItemChangeManager(Guid employeeid, string budgetitems) { var idsList = budgetitems.Split(',').Where(x => !string.IsNullOrWhiteSpace(x)).Select(x => new Guid(x)).ToList(); if (SecurityCache.FormCan("BudgetItem", "ChangeManager")) { try { string message; if (BudgetItem.ChangeManager(employeeid, idsList, out message)) { return(new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetSuccess(message) }); } return(new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetNotSuccess(message) }); } catch (Exception ex) { Logger.Log.Error(ex); return(new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetNotSuccess(ex.Message) }); } } else { return(new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetNotSuccess(OptimaJet.Localization.LocalizationProvider.Provider.Get("Access is denied")) }); } }
private EntityContainer GetDataFromRequest(string metaViewName) { var dataSource = new DynamicEntityJSONDataSource(); var extra = DynamicEntityJSONDataSource.GetExtra(Request.QueryString); if (extra != null) { extra = extra.ToLower(); } return(dataSource.GetData(metaViewName, DynamicEntityJSONDataSource.GetSort(Request.QueryString), DynamicEntityJSONDataSource.GetFilter(Request.QueryString), DynamicEntityJSONDataSource.GetSearch(Request.QueryString), extra, DynamicEntityJSONDataSource.GetBaseEntityIdName(Request.QueryString), DynamicEntityJSONDataSource.GetBaseEntityIdValue(Request.QueryString))); }
public ActionResult RunImportFXRate() { string report = String.Empty; bool res = false; //if (SecurityCache.CheckPermission("Form_FXRate", "Add")) //{ // try // { // CultureInfo cInfo = CultureInfo.CurrentCulture; // DateTime startDate = DateTime.ParseExact(Request.Form.Get("startDate"), "dd.MM.yyyy", cInfo); // DateTime endDate = DateTime.ParseExact(Request.Form.Get("endDate"), "dd.MM.yyyy", cInfo); // FXRateImporter importer = new FXRateImporter(FXRateMethods.FXRateImportView, FXRateMethods.FXRateImportConnectionString); // res = importer.ImportFXRates(startDate, endDate, out report); // } // catch (Exception ex) // { // Logger.Log.Error(ex); // return new ContentResult // { // ContentType = "text/html", // Content = DynamicEntityJSONDataSource.GetNotSuccess(ex.Message) // }; // } //} //else //{ report = LocalizationProvider.Provider.Get("Access is denied"); //} return(new ContentResult { ContentType = "text/html", Content = res ? DynamicEntityJSONDataSource.GetSuccess(LocalizationProvider.Provider.Get("Import has been completed successfully")) : DynamicEntityJSONDataSource.GetNotSuccess(report) }); }
public ActionResult ExportCSV(string metaViewName, string entityIds) { if (!SecurityCache.ViewCan(metaViewName, SecurityPermissionBaseTypeEnum.View)) { return(Content(WsFactory.GetАccessDeniedHtmlFrom())); } EventsLogHelper.ExportData("CSV", metaViewName, Request); EntityContainer data; if (string.IsNullOrEmpty(entityIds)) { data = GetDataFromRequest(metaViewName); } else { data = GetDataFromRequest(metaViewName, entityIds); } return(File(data.ToCsv(DynamicEntityJSONDataSource.GetFieldColumns(Request.QueryString)), "application/CSV", string.Format("{0}.csv", metaViewName))); }
public ActionResult ExportXls(string metaViewName, string entityIds) { if (!SecurityCache.ViewCan(metaViewName, SecurityPermissionBaseTypeEnum.View)) { return(Content(WsFactory.GetАccessDeniedHtmlFrom())); } EventsLogHelper.ExportData("Xls", metaViewName, Request); EntityContainer data; if (string.IsNullOrEmpty(entityIds)) { data = GetDataFromRequest(metaViewName); } else { data = GetDataFromRequest(metaViewName, entityIds); } var dt = data.ToDataTable(DynamicEntityJSONDataSource.GetFieldColumns(Request.QueryString)); return(GridExportHelper.ExportToXls(metaViewName, dt)); }
private ContentResult Get(string metaViewName, DynamicEntityJSONDataSource dataSource, string extra) { var viewAllowViewDeleted = new List <string>() { "BudgetItem_Edit", "LegalEntity_Edit", "Invoice_Edit", "Contract_Edit" }; bool ignoreDeleteFilter = false; if (viewAllowViewDeleted.Contains(metaViewName)) { ignoreDeleteFilter = true; } return(new ContentResult { ContentType = "text/html", Content = dataSource.GetJSONData(metaViewName, DynamicEntityJSONDataSource.GetEntityOperationType(Request.QueryString), DynamicEntityJSONDataSource.GetPageSize(Request.QueryString), DynamicEntityJSONDataSource.GetPageNumber(Request.QueryString), DynamicEntityJSONDataSource.GetSort(Request.QueryString), DynamicEntityJSONDataSource.GetFilter(Request.QueryString), DynamicEntityJSONDataSource.GetSearch(Request.QueryString), extra, DynamicEntityJSONDataSource.GetBaseEntityIdName(Request.QueryString), DynamicEntityJSONDataSource.GetBaseEntityIdValue(Request.QueryString), DynamicEntityJSONDataSource.GetCallback(Request.QueryString), DynamicEntityJSONDataSource.GetVisibility(Request.QueryString), GetShowDeleted(metaViewName), ignoreDeleteFilter ) }); }
private EntityContainer GetDataFromRequest(string metaViewName, string entityIds) { var dataSource = new DynamicEntityJSONDataSource(); return dataSource.GetData(metaViewName, entityIds); }
private bool GetShowDeleted(string metaViewName) { //return true; return(DynamicEntityJSONDataSource.GetShowDeleted(Request.QueryString) );//&& SecurityCache.CheckPermission("Common", "ShowDeleteDeleted"); }
public ActionResult Get(string metaViewName) { ActionResult res = new EmptyResult(); var dataSource = new DynamicEntityJSONDataSource(); if (Request.HttpMethod.Equals("GET", StringComparison.InvariantCultureIgnoreCase)) { if (!SecurityCache.ViewCan(metaViewName, SecurityPermissionBaseTypeEnum.View)) { return(new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetNotSuccess(WsFactory.GetАccessDeniedPage()) }); } var extra = DynamicEntityJSONDataSource.GetExtra(Request.QueryString).ToLower(); res = Get(metaViewName, dataSource, extra); } else if (Request.HttpMethod.Equals("POST", StringComparison.InvariantCultureIgnoreCase)) { if (!SecurityCache.ViewCan(metaViewName, SecurityPermissionBaseTypeEnum.Add)) { return(new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetNotSuccess(WsFactory.GetАccessDeniedPage()) }); } var updatedJson = Request.Body(); res = new ContentResult { ContentType = "text/html", Content = dataSource.Insert(metaViewName, DynamicEntityJSONDataSource.GetEntityOperationType(Request.QueryString), updatedJson, DynamicEntityJSONDataSource.GetExtra(Request.Params), DynamicEntityJSONDataSource.GetVisibility(Request.QueryString), DynamicEntityJSONDataSource.GetBaseEntityIdName(Request.Params), DynamicEntityJSONDataSource.GetBaseEntityIdValue(Request.Params)) }; } else if (Request.HttpMethod.Equals("PUT", StringComparison.InvariantCultureIgnoreCase)) { if (!SecurityCache.ViewCan(metaViewName, SecurityPermissionBaseTypeEnum.Edit)) { return(new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetNotSuccess(WsFactory.GetАccessDeniedPage()) }); } var updatedJson = Request.Body(); res = new ContentResult { ContentType = "text/html", Content = dataSource.Update(metaViewName, updatedJson, DynamicEntityJSONDataSource.GetExtra(Request.Params), DynamicEntityJSONDataSource.GetVisibility(Request.QueryString), DynamicEntityJSONDataSource.GetBaseEntityIdName(Request.QueryString), DynamicEntityJSONDataSource.GetBaseEntityIdValue(Request.QueryString)) }; } else if (Request.HttpMethod.Equals("DELETE", StringComparison.InvariantCultureIgnoreCase)) { if (!SecurityCache.ViewCan(metaViewName, SecurityPermissionBaseTypeEnum.Delete)) { return(new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetNotSuccess(WsFactory.GetАccessDeniedPage()) }); } var updatedJson = Request.Body(); string validateRes = string.Empty; if (metaViewName != "Budget") { if (!MetadataRepositoty.ValidadateDelete(metaViewName, updatedJson, out validateRes)) { return(new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetNotSuccess(validateRes) }); } } res = new ContentResult { ContentType = "text/html", Content = dataSource.Delete(metaViewName, updatedJson, DynamicEntityJSONDataSource.GetExtra(Request.Params), DynamicEntityJSONDataSource.GetBaseEntityIdName(Request.QueryString), DynamicEntityJSONDataSource.GetBaseEntityIdValue(Request.QueryString)) }; } return(res); }
public ActionResult Get(string metaViewName) { ActionResult res = new EmptyResult(); var dataSource = new DynamicEntityJSONDataSource(); if (Request.HttpMethod.Equals("GET", StringComparison.InvariantCultureIgnoreCase)) { if (!SecurityCache.ViewCan(metaViewName, SecurityPermissionBaseTypeEnum.View)) { return new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetNotSuccess(WsFactory.GetАccessDeniedPage()) }; } var extra = DynamicEntityJSONDataSource.GetExtra(Request.QueryString).ToLower(); res = Get(metaViewName, dataSource, extra); } else if (Request.HttpMethod.Equals("POST", StringComparison.InvariantCultureIgnoreCase)) { if (!SecurityCache.ViewCan(metaViewName, SecurityPermissionBaseTypeEnum.Add)) { return new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetNotSuccess(WsFactory.GetАccessDeniedPage()) }; } var updatedJson = Request.Body(); res = new ContentResult { ContentType = "text/html", Content = dataSource.Insert(metaViewName, DynamicEntityJSONDataSource.GetEntityOperationType(Request.QueryString), updatedJson, DynamicEntityJSONDataSource.GetExtra(Request.Params), DynamicEntityJSONDataSource.GetVisibility(Request.QueryString), DynamicEntityJSONDataSource.GetBaseEntityIdName(Request.Params), DynamicEntityJSONDataSource.GetBaseEntityIdValue(Request.Params)) }; } else if (Request.HttpMethod.Equals("PUT", StringComparison.InvariantCultureIgnoreCase)) { if (!SecurityCache.ViewCan(metaViewName, SecurityPermissionBaseTypeEnum.Edit)) { return new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetNotSuccess(WsFactory.GetАccessDeniedPage()) }; } var updatedJson = Request.Body(); res = new ContentResult { ContentType = "text/html", Content = dataSource.Update(metaViewName, updatedJson, DynamicEntityJSONDataSource.GetExtra(Request.Params), DynamicEntityJSONDataSource.GetVisibility(Request.QueryString), DynamicEntityJSONDataSource.GetBaseEntityIdName(Request.QueryString), DynamicEntityJSONDataSource.GetBaseEntityIdValue(Request.QueryString)) }; } else if (Request.HttpMethod.Equals("DELETE", StringComparison.InvariantCultureIgnoreCase)) { if (!SecurityCache.ViewCan(metaViewName, SecurityPermissionBaseTypeEnum.Delete)) { return new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetNotSuccess(WsFactory.GetАccessDeniedPage()) }; } var updatedJson = Request.Body(); string validateRes = string.Empty; if (metaViewName != "Budget") { if (!MetadataRepositoty.ValidadateDelete(metaViewName, updatedJson, out validateRes)) { return new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetNotSuccess(validateRes) }; } } res = new ContentResult { ContentType = "text/html", Content = dataSource.Delete(metaViewName, updatedJson, DynamicEntityJSONDataSource.GetExtra(Request.Params), DynamicEntityJSONDataSource.GetBaseEntityIdName(Request.QueryString), DynamicEntityJSONDataSource.GetBaseEntityIdValue(Request.QueryString)) }; } return res; }
private EntityContainer GetDataFromRequest(string metaViewName, string entityIds) { var dataSource = new DynamicEntityJSONDataSource(); return(dataSource.GetData(metaViewName, entityIds)); }
public ActionResult GetAJAXTree(string metaViewName) { ActionResult res = new EmptyResult(); var dataSource = new DynamicEntityJSONDataSource(); if (Request.HttpMethod.Equals("GET", StringComparison.InvariantCultureIgnoreCase)) { if (!SecurityCache.ViewCan(metaViewName, SecurityPermissionBaseTypeEnum.View)) { return new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetNotSuccess(WsFactory.GetАccessDeniedPage()) }; } res = new ContentResult { ContentType = "text/html", Content = dataSource.GetJSONAJAXTreeData(metaViewName, DynamicEntityJSONDataSource.GetSort(Request.QueryString), DynamicEntityJSONDataSource.GetSearch(Request.QueryString), DynamicEntityJSONDataSource.GetExtra(Request.Params), DynamicEntityJSONDataSource.GetBaseEntityIdName(Request.QueryString), DynamicEntityJSONDataSource.GetBaseEntityIdValue(Request.QueryString), DynamicEntityJSONDataSource.GetCallback(Request.QueryString), DynamicEntityJSONDataSource.GetNodeValue(Request.QueryString), DynamicEntityJSONDataSource.GetVisibility(Request.QueryString), GetShowDeleted(metaViewName) ) }; } else if (Request.HttpMethod.Equals("DELETE", StringComparison.InvariantCultureIgnoreCase)) { if (!SecurityCache.ViewCan(metaViewName, SecurityPermissionBaseTypeEnum.Delete)) { return new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetNotSuccess(WsFactory.GetАccessDeniedPage()) }; } var updatedJson = Request.Body(); string validateRes = string.Empty; if (!MetadataRepositoty.ValidadateDelete(metaViewName, updatedJson, out validateRes)) { return new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetNotSuccess(validateRes) }; } return new ContentResult { ContentType = "text/html", Content = dataSource.Delete(metaViewName, updatedJson, DynamicEntityJSONDataSource.GetExtra(Request.Params), DynamicEntityJSONDataSource.GetBaseEntityIdName(Request.QueryString), DynamicEntityJSONDataSource.GetBaseEntityIdValue(Request.QueryString)) }; } return res; }
private ContentResult Get(string metaViewName, DynamicEntityJSONDataSource dataSource, string extra) { var viewAllowViewDeleted = new List<string>(){ "BudgetItem_Edit", "LegalEntity_Edit", "Invoice_Edit", "Contract_Edit" }; bool ignoreDeleteFilter = false; if(viewAllowViewDeleted.Contains(metaViewName)){ ignoreDeleteFilter = true; } return new ContentResult { ContentType = "text/html", Content = dataSource.GetJSONData(metaViewName, DynamicEntityJSONDataSource.GetEntityOperationType(Request.QueryString), DynamicEntityJSONDataSource.GetPageSize(Request.QueryString), DynamicEntityJSONDataSource.GetPageNumber(Request.QueryString), DynamicEntityJSONDataSource.GetSort(Request.QueryString), DynamicEntityJSONDataSource.GetFilter(Request.QueryString), DynamicEntityJSONDataSource.GetSearch(Request.QueryString), extra, DynamicEntityJSONDataSource.GetBaseEntityIdName(Request.QueryString), DynamicEntityJSONDataSource.GetBaseEntityIdValue(Request.QueryString), DynamicEntityJSONDataSource.GetCallback(Request.QueryString), DynamicEntityJSONDataSource.GetVisibility(Request.QueryString), GetShowDeleted(metaViewName), ignoreDeleteFilter ) }; }
public ActionResult GetAJAXTree(string metaViewName) { ActionResult res = new EmptyResult(); var dataSource = new DynamicEntityJSONDataSource(); if (Request.HttpMethod.Equals("GET", StringComparison.InvariantCultureIgnoreCase)) { if (!SecurityCache.ViewCan(metaViewName, SecurityPermissionBaseTypeEnum.View)) { return(new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetNotSuccess(WsFactory.GetАccessDeniedPage()) }); } res = new ContentResult { ContentType = "text/html", Content = dataSource.GetJSONAJAXTreeData(metaViewName, DynamicEntityJSONDataSource.GetSort(Request.QueryString), DynamicEntityJSONDataSource.GetSearch(Request.QueryString), DynamicEntityJSONDataSource.GetExtra(Request.Params), DynamicEntityJSONDataSource.GetBaseEntityIdName(Request.QueryString), DynamicEntityJSONDataSource.GetBaseEntityIdValue(Request.QueryString), DynamicEntityJSONDataSource.GetCallback(Request.QueryString), DynamicEntityJSONDataSource.GetNodeValue(Request.QueryString), DynamicEntityJSONDataSource.GetVisibility(Request.QueryString), GetShowDeleted(metaViewName) ) }; } else if (Request.HttpMethod.Equals("DELETE", StringComparison.InvariantCultureIgnoreCase)) { if (!SecurityCache.ViewCan(metaViewName, SecurityPermissionBaseTypeEnum.Delete)) { return(new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetNotSuccess(WsFactory.GetАccessDeniedPage()) }); } var updatedJson = Request.Body(); string validateRes = string.Empty; if (!MetadataRepositoty.ValidadateDelete(metaViewName, updatedJson, out validateRes)) { return(new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetNotSuccess(validateRes) }); } return(new ContentResult { ContentType = "text/html", Content = dataSource.Delete(metaViewName, updatedJson, DynamicEntityJSONDataSource.GetExtra(Request.Params), DynamicEntityJSONDataSource.GetBaseEntityIdName(Request.QueryString), DynamicEntityJSONDataSource.GetBaseEntityIdValue(Request.QueryString)) }); } return(res); }
public ActionResult UploadExcelForClient(string name, string type = "Xlsx") { var fileName = Guid.NewGuid().ToString("N"); var filePath = Server.MapPath(Settings.Current["TemporaryFolderForImportExport"]); ExcelType excelType; ExcelType.TryParse(type, true, out excelType); try { if (Request.Files.Count != 1 || Request.Files[0] == null) { return new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetNotSuccess("Неверное количество файлов в запросе.") } } ; var ds = ExcelHelper.FromExcel(Request.Files[0].InputStream, fileName, filePath, excelType); List <dynamic> records; var result = ImportExportHelper.ImportForClient(name, ds, out records); var report = result.GetReport(new ImportResultTextFormatter()); var res = new { success = !(result.HaveMappingErrors || result.HaveParsingErrors), message = report, records = records.Select(c => (c as DynamicEntity).Dictionary).ToArray() }; return(new ContentResult { ContentType = "text/html", Content = ServiceStack.Text.JsonSerializer.SerializeToString(res) }); } catch (Exception ex) { Logger.Log.Error(string.Format("Ошибка загрузки шаблона {0}", name), ex); return(new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetNotSuccess(ex.Message) }); } finally { try { var fullName = ExcelHelper.GetFullFilePath(fileName, filePath, excelType); if (System.IO.File.Exists(fullName)) { System.IO.File.Delete(fullName); } } catch (Exception ex) { Logger.Log.Error("Ошибка удаления временного файла", ex); } } }
public ActionResult UploadExcel(string name, string type = "Xlsx") { var fileName = Guid.NewGuid().ToString("N"); var filePath = Server.MapPath(Settings.Current["TemporaryFolderForImportExport"]); ExcelType excelType; ExcelType.TryParse(type, true, out excelType); try { if (Request.Files.Count != 1 || Request.Files[0] == null) { return new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetNotSuccess("Неверное количество файлов в запросе.") } } ; var ds = ExcelHelper.FromExcel(Request.Files[0].InputStream, fileName, filePath, excelType); var result = ImportExportHelper.Import(name, ds); var report = result.GetReport(new ImportResultTextFormatter()); return(new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetSuccess(report.Replace("\r\n", "</br>")) }); } catch (OptimaJet.DynamicEntities.Exceptions.DynamicEntitiesConvertException ex) { string msg = String.Format("{0}: {1}.", LocalizationProvider.Provider.Get("Error of template loading"), LocalizationProvider.Provider.Get("Incorrect format of fields in file")); Logger.Log.Error(ex.Message, ex); return(new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetNotSuccess(msg) }); } catch (Exception ex) { Logger.Log.Error(LocalizationProvider.Provider.Get("Error of template loading") + " " + name, ex); return(new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetNotSuccess(ex.Message) }); } finally { try { var fullName = ExcelHelper.GetFullFilePath(fileName, filePath, excelType); if (System.IO.File.Exists(fullName)) { System.IO.File.Delete(fullName); } } catch (Exception ex) { Logger.Log.Error("Ошибка удаления временного файла", ex); } } }
public ActionResult GetDocumentIds(Guid docTypeId, long startIndex = 0, long count = 0) { if (!CheckCurrentPermission()) return Content(WsFactory.GetАccessDeniedHtmlFrom()); string metaViewName = WsFactory.GetMetaViewByDocTypeForSearch(docTypeId); ArrayList ids = new ArrayList(); if (!string.IsNullOrWhiteSpace(metaViewName)) { var dataSource = new DynamicEntityJSONDataSource(); var data = dataSource.GetDataKey(metaViewName, null, startIndex, count); data.ToDataTable(); var att = data.Metadata.Attributes.FirstOrDefault(); foreach (DynamicEntity item in data.Entities) { ids.Add(item.GetProperty(att.PropertyName)); } } return new ContentResult { ContentType = "text/html", Content = JsonSerializer.SerializeToString(ids) }; }
private EntityContainer GetDataFromRequest(string metaViewName) { var dataSource = new DynamicEntityJSONDataSource(); var extra = DynamicEntityJSONDataSource.GetExtra(Request.QueryString); if (extra != null) extra = extra.ToLower(); return dataSource.GetData(metaViewName, DynamicEntityJSONDataSource.GetSort(Request.QueryString), DynamicEntityJSONDataSource.GetFilter(Request.QueryString), DynamicEntityJSONDataSource.GetSearch(Request.QueryString), extra, DynamicEntityJSONDataSource.GetBaseEntityIdName(Request.QueryString), DynamicEntityJSONDataSource.GetBaseEntityIdValue(Request.QueryString)); }