private string GetCsvValue(DataTree schema, DataTree dataTreeDoc, string csvField) { string csvValue = (string)dataTreeDoc[csvField]; try { if (dataTreeDoc.Contains("__" + csvField + "__displayname")) { csvValue = dataTreeDoc["__" + csvField + "__displayname"]; } else if ((string)schema["type"] == "datetime") { csvValue = this.formatDate((DateTime)dataTreeDoc[csvField]); } else if ((string)schema["type"] == "int" && schema["inttype"] == "timespan") { csvValue = formatTimespan((int)dataTreeDoc[csvField]); } } catch (Exception e) { logger.LogError("Failed to export csv value", e, csvField, dataTreeDoc.ContentView()); } return(csvValue); }
/// <summary> /// Writes annotated hours to disk. Modifies provided hour data. Expects data handled previously by /// WriteAnnotatedHoursToDisk. /// </summary> /// <param name="hourData"></param> private void WriteAnnotatedTotalHoursToDisk(DataTree hourData) { DirectoryInfo di = new DirectoryInfo(filePath); if (!di.Exists) { di.Create(); } foreach (DataTree user in hourData) { var totals = new DataTree(); foreach (DataTree date in user) { foreach (DataTree payType in date) { List <DataTree> entriesToRemove = new List <DataTree>(); foreach (DataTree entryType in payType) { if (entryType.Name == "lunchbreak") { continue; } DataTree total = totals[payType.Name][entryType.Name].Create(); if (total.Empty) { total.Value = (decimal)0; } total.Value = (decimal)total + (decimal)entryType; } } } // Clear existing user data and merge totals user.Clear(); user.Merge(totals); } logger.LogInfo("Saving annotated totals data to disk.", exportFileNameAnnotated); try { byte[] utfBytes = Encoding.UTF8.GetBytes(hourData.ContentView()); ExportFileAnnotatedTotals.Write(utfBytes, 0, utfBytes.Count()); } catch (Exception ex) { logger.LogError("Failed to export hour data.", ex); } }
/// <summary> /// Writes annotated hours to disk. Modifies provided hour data. /// </summary> /// <param name="hourData"></param> private void WriteAnnotatedHoursToDisk(DataTree hourData) { DirectoryInfo di = new DirectoryInfo(filePath); if (!di.Exists) { di.Create(); } foreach (DataTree user in hourData) { foreach (DataTree date in user) { foreach (DataTree payType in date) { List <DataTree> entriesToRemove = new List <DataTree>(); foreach (DataTree entryType in payType) { // Remove empty hours, euros etc. from annotated data. if (entryType.Value.ToString() == "0") { entriesToRemove.Add(entryType); } } foreach (DataTree entryToRemove in entriesToRemove) { entryToRemove.Remove(); } } } // Sort based on date user.Sort(); } // Remove after previous loop to prevent chnaging data while iterating. foreach (DataTree user in hourData) { user["profitcenter"].Remove(); } logger.LogInfo("Saving annotated data to disk.", exportFileNameAnnotated); try { byte[] utfBytes = Encoding.UTF8.GetBytes(hourData.ContentView()); ExportFileAnnotated.Write(utfBytes, 0, utfBytes.Count()); } catch (Exception ex) { logger.LogError("Failed to export hour data.", ex); } }
private void ApplySchemaAndConfiguration() { logger.LogDebug("Applying www-front server configuration."); frontServerConfiguration = new DataTree(); frontServerConfiguration.Merge(Message.Parent[MongoDBHandlerConstants.mongodbhandler]["configuration"]); useErpUpdateTable = (bool)frontServerConfiguration["application"]["features"]["useerpupdatetable"]; logger.LogTrace("Applied www-front server configuration", (frontServerConfiguration.ContentView())); VerifySocialProject(); }
public MC2Value timesheetentrydetailpaytype() { DataTree historyEntry = Runtime.HistoryManager.GetCurrentHistoryEntry(); string text = historyEntry.ContentView(); if (!string.IsNullOrEmpty(Runtime.SessionManager.Session["scriptedvalues"]["addtimesheetentryform"]["selecteduser"])) { // Get cla contract for selected user and figure out which paytypes to show } return(""); }
private string GetExcelFormat(DataTree schema, DataTree dataTreeDoc, string field) { string excelFormat = ""; try { if ((string)schema["type"] == "datetime") { excelFormat = "d/M/yyyy"; } } catch (Exception e) { logger.LogError("Failed to export csv value", e, field, dataTreeDoc.ContentView()); } return(excelFormat); }
private dynamic GetExcelValue(DataTree schema, DataTree dataTreeDoc, string field) { dynamic excelValue = ""; try { if (dataTreeDoc.Contains("__" + field + "__displayname")) { excelValue = dataTreeDoc["__" + field + "__displayname"]; } else if ((string)schema["type"] == "datetime") { excelValue = this.formatDate((DateTime)dataTreeDoc[field]); } else if ((string)schema["type"] == "int" && schema["inttype"] == "timespan") { int timespan = (int)dataTreeDoc[field]; int hours = timespan / (1000 * 60 * 60); excelValue = hours; } else if ((string)schema["type"] == "int") { excelValue = (int)dataTreeDoc[field]; } else { excelValue = (string)dataTreeDoc[field]; } } catch (Exception e) { logger.LogError("Failed to export csv value", e, field, dataTreeDoc.ContentView()); } return(excelValue); }