protected override bool Execute(CodeActivityContext context) { DataTable TempTable = null; string sql = @"set nocount on;set transaction isolation level read uncommitted;select USPD_ID from Hard_USPD"; try { var serverData = ARM_Service.REP_Query_Report(sql, new List <QueryParameter>()); if (!string.IsNullOrEmpty(serverData.Value)) { Error.Set(context, serverData.Value); } else if (serverData.Key != null) { TempTable = serverData.Key; var result = new List <int>(); foreach (DataRow r in TempTable.Rows) { if (r.ItemArray != null && r.ItemArray.Length > 0) { result.Add((int)r.ItemArray[0]); } } USPDList.Set(context, result); } } catch (Exception ex) { Error.Set(context, ex.Message); if (!HideException.Get(context)) { throw ex; } } return(string.IsNullOrEmpty(Error.Get(context))); }
protected override bool Execute(CodeActivityContext context) { try { var res = ARM_Service.BPS_GetBalansPSResultAndHtmlDocument2(BalanceId.Get(context), StartDateTime.Get(context), EndDateTime.Get(context), DiscreteType, //.Get(context), DataSourceType, //.Get(context), isPower, //.Get(context), isOffsetFromMoscowEnbledForDrums, //.Get(context), IsPowerEquipmentEnabled, 7, null, false); if (res.Errors != null) { Error.Set(context, res.Errors.ToString()); } var ms = CompressUtility.DecompressGZip(res.HTMLDocument); if (ms != null) { ms.Position = 0; Document.Set(context, ms); } IsHasUnbalanceValue.Set(context, !res.IsHasUnbalanceValue); } catch (Exception ex) { if (!HideException.Get(context)) { throw ex; } } return(true); }
protected override bool Execute(CodeActivityContext context) { SectionIntegralResults Res; try { Res = ARM_Service.SIA_GetFlowBalanceReport( SectionID.Get(context), TExportExcelAdapterType.toXLS, StartDateTime.Get(context), DataSourceType, BusRelation, true, false, null, true, true, null); if (Res.CompressedDoc != null) { Res.CompressedDoc.Position = 0; MemoryStream ms = CompressUtility.DecompressGZip(Res.CompressedDoc); ms.Position = 0; Document.Set(context, ms); } if (Res.Errors != null) { Error.Set(context, Res.Errors.ToString()); } } catch (Exception ex) { Error.Set(context, ex.Message); if (!HideException.Get(context)) { throw ex; } } return(string.IsNullOrEmpty(Error.Get(context))); }
protected override bool Execute(CodeActivityContext context) { int id = SectionID.Get(context); DateTimeOffset _EventDate = EventDate.Get(context); bool roundData = RoundData.Get(context); try { XMLATSExportSingleObjectResult Res = ARM_Service.XMLExportGetSection80020(_EventDate, id, DataSourceType, BusRelation, TimeZoneId, roundData, false, false, true, false, false, 1, true); Document.Set(context, Res.XMLStream); } catch (Exception ex) { Error.Set(context, ex.Message); if (!HideException.Get(context)) { throw ex; } } return(string.IsNullOrEmpty(Error.Get(context))); }
protected override bool Execute(CodeActivityContext context) { if (AlarmEntitiesList == null) { Error.Set(context, "Список сущностей принимаемых тревогой должен быть определен"); return(false); } try { Int64 value = 0; foreach (var val in AlarmEntitiesList) { value = value | (Int64)val; } string queryString = @"update Workflow_Activity_List set AlarmEntitiesMask=" + value.ToString() + " where WorkflowActivity_ID=" + WorkflowActivity_ID.Get(context).ToString(); int Res = ARM_Service.SQL_Execute_Query(queryString, null, 60); if (Res <= 0) { Error.Set(context, "Тревога не найдена"); } else { return(true); } } catch (Exception ex) { Error.Set(context, ex.Message); if (!HideException.Get(context)) { throw ex; } } return(string.IsNullOrEmpty(Error.Get(context))); }
protected override bool Execute(CodeActivityContext context) { List <Int32> L = PS_ID_List.Get(context); if (L == null || L.Count == 0) { Error.Set(context, "Не определен список ПС"); return(false); } try { var res = ARM_Service.BPS_GetPSBalanceValidationList(PS_ID_List.Get(context), StartDateTime.Get(context), EndDateTime.Get(context), enumTimeDiscreteType.DBInterval, DataSourceType, isPower, null); BalanceValidationList.Set(context, res); if (res.Errors != null && res.Errors.Length > 0) { Error.Set(context, res.Errors.ToString()); } } catch (Exception ex) { Error.Set(context, ex.Message); if (!HideException.Get(context)) { throw ex; } } return(string.IsNullOrEmpty(Error.Get(context))); }
protected override bool Execute(CodeActivityContext context) { List <ID_TypeHierarchy> idList = new List <ID_TypeHierarchy>(); ID_TypeHierarchy idTypeHier = new ID_TypeHierarchy(); idTypeHier.ID = ID.Get(context); idTypeHier.ClosedPeriod_ID = null;// ClosedPeriodID.Get(context); idTypeHier.TypeHierarchy = enumTypeHierarchy.Section; idList.Add(idTypeHier); try { //TODO часовой пояс object[] args = { IsReadCalculatedValues, StartDateTime.Get(context), idList, DataSourceType, null }; TAnalysClosedData res = ARM_Service.ClosedPeriod_AnalysClosedData(args); AnalysResult.Set(context, res.AnalysClosedDataRows); } catch (Exception ex) { Error.Set(context, ex.Message); if (!HideException.Get(context)) { throw ex; } } return(string.IsNullOrEmpty(Error.Get(context))); }
//[Category(ActivitiesSettings.PropertyGridCategoryName_Out)] //[DisplayName("Имя файла документа")] //public OutArgument<string> DocumentFileName { get; set; } protected override bool Execute(CodeActivityContext context) { int ps_id = PsId.Get(context); DateTime _EventDate = EventDate.Get(context); bool roundData = RoundData.Get(context); try { XMLATSExportSingleObjectResult Res = ARM_Service.XMLExportGetPS80020(_EventDate, ps_id, DataSourceType, requiredATSCode, isReadCalculatedValues, roundData, false, false, UTCTimeShiftFromMoscow, false, false, 1, true); Document.Set(context, Res.XMLStream); //DocumentFileName.Set(context, Res.FileName); } catch (Exception ex) { Error.Set(context, ex.Message); if (!HideException.Get(context)) { throw ex; } } return(string.IsNullOrEmpty(Error.Get(context))); }
protected override bool Execute(CodeActivityContext context) { DataTable TempTable = null; try { var serverData = ARM_Service.REP_Query_Report(Sql.Get(context), new List <QueryParameter>()); if (!string.IsNullOrEmpty(serverData.Value)) { Error.Set(context, serverData.Value); } else { TempTable = serverData.Key; } } catch (Exception ex) { Error.Set(context, ex.Message); if (!HideException.Get(context)) { throw ex; } } //List<DataRow> L = new List<DataRow>(); //if (TempTable != null) //foreach (DataRow row in TempTable.Rows) //L.Add(row); ResultTable.Set(context, TempTable); return(string.IsNullOrEmpty(Error.Get(context))); }
protected override bool Execute(CodeActivityContext context) { string Email = ""; if (string.IsNullOrEmpty(UserName)) { Error.Set(context, "Значение свойства 'Пользователь' не может быть пустым"); return(false); } bool FoundUser = false; try { List <UserInfo> UList = ARM_Service.EXPL_Get_All_Users(); foreach (UserInfo u in UList) { if (u.UserName.ToLower(System.Globalization.CultureInfo.InvariantCulture) == UserName.ToLower(System.Globalization.CultureInfo.InvariantCulture)) { FoundUser = true; Email = u.Email; break; } } } catch (Exception ex) { Error.Set(context, ex.Message); if (!HideException.Get(context)) { throw ex; } } if (!string.IsNullOrEmpty(Error.Get(context))) { return(false); } if (!FoundUser) { Error.Set(context, "Не найден пользователь с именем '" + UserName + "'"); return(false); } if (string.IsNullOrEmpty(Email)) { Error.Set(context, "У пользователя '" + UserName + "' не определен адрес электронной почты"); return(false); } Expl_UserNotify_EMailServiceConfiguration Config = null; try { Config = ARM_Service.EXPL_Get_UserNotify_EmailServiceConfigurations().FirstOrDefault(); if (Config == null) { Error.Set(context, "Не найдено ни одной записи в таблице конфигурации почтового сервиса"); return(false); } } catch (Exception ex) { Error.Set(context, ex.Message); if (!HideException.Get(context)) { throw ex; } } UserNotify_EMailServiceConfigurationItem ConfigurationItem = null; try { ConfigurationItem = UserNotify_EMailServiceConfigurationItem.FromXElement(Config.Data); } catch (Exception ex) { Error.Set(context, "Ошибка разбора Xml : " + ex.Message); if (!HideException.Get(context)) { throw ex; } } //if (UseZipArchive) //{ // MemoryStream compresStream = new MemoryStream(); // ComponentAce.Compression.ZipForge.ZipForge zip = new ComponentAce.Compression.ZipForge.ZipForge(); // zip.FileName = attachName + ".zip"; ; // AttachContent.Position = 0; // zip.OpenArchive(compresStream, true); // zip.AddFromStream(attachName + GetFileExtByReportFormat(), AttachContent); // zip.CloseArchive(); // Attach = new Attachment(AttachContent, zip.FileName); // zip.Dispose(); //} // try { Pop3Helper.ReadAllMails(UserNotifyConfigClass.Pop3_Host, UserNotifyConfigClass.Smtp_User, UserNotifyConfigClass.Smtp_Password); var mailMessage = new System.Net.Mail.MailMessage(); mailMessage.To.Add(Email); if (string.IsNullOrEmpty(Subject.Get(context))) { mailMessage.Subject = ConfigurationItem.Smtp_Subject; } else { mailMessage.Subject = Subject.Get(context); } if (mailMessage.Subject != null) { mailMessage.Subject = mailMessage.Subject.Replace("@PsName", "") .Replace("@data", "") .Replace("@ReportName", ""); } mailMessage.Body = Body.Get(context); mailMessage.From = new System.Net.Mail.MailAddress(ConfigurationItem.Smtp_From); var smtp = new System.Net.Mail.SmtpClient(); smtp.Host = ConfigurationItem.Smtp_Host; smtp.Port = ConfigurationItem.Smtp_Port; MemoryStream a = Attach.Get(context); if (a != null) { string an = AttachName.Get(context); if (string.IsNullOrEmpty(an)) { an = "Вложение"; } Attachment at = new Attachment(a, an); mailMessage.Attachments.Add(at); } smtp.Credentials = new System.Net.NetworkCredential(ConfigurationItem.Smtp_User, ConfigurationItem.Smtp_Password); //smtp.EnableSsl = true; smtp.Send(mailMessage); } catch (Exception ex) { Error.Set(context, "Ошибка отправки письма : " + ex.Message); if (!HideException.Get(context)) { throw ex; } } return(string.IsNullOrEmpty(Error.Get(context))); }
protected override bool Execute(CodeActivityContext context) { Error.Set(context, null); int uspid = UspdId.Get(context); List <int> initial = new List <int>(); initial.Add(uspid); if (string.IsNullOrEmpty(LoginInfo.UserName) || string.IsNullOrEmpty(LoginInfo.Password)) { Error.Set(context, "Не определены параметры авторизации"); return(false); } try { string userId = null; List <UserInfo> uInfos = ARM_Service.EXPL_Get_All_Users(); foreach (UserInfo u in uInfos) { if (u.UserName == LoginInfo.UserName) { userId = u.User_ID; break; } } if (string.IsNullOrEmpty(userId)) { throw new Exception("Пользователь '" + LoginInfo.UserName + "' не найден в системе"); } DateTime actualTime = new DateTime(1, 1, 1, LivePeriod.Days, LivePeriod.Hours, LivePeriod.Minutes); short priority = 128; if (Priority == enumManualReadRequestPriority.Hight) { priority = 0; } byte requestType = (byte)RequestType; var managePu = new Expl_User_Journal_ManagePU_Request_List() { CUS_ID = 0, User_ID = userId, ManageRequestLifeDateTime = actualTime, ManageRequestStatus = 0, ManageRequestType = 21, ManageRequestPriority = priority }; var request = new USPDManage_Manual_ReadRequest() { CUS_ID = 0, RequestComment = Comment.Get(context), ManualReadType = requestType }; List <KeyValuePair <int, FailReason> > result = ARM_Service.DM_Send_Manual_ReadigUSPD_Request(LoginInfo.UserName, LoginInfo.Password, managePu, request, initial); if (result == null) { Error.Set(context, "Не удалось отправить команду"); return(false); } if (result.Count > 0) { Error.Set(context, GlobalEnumsDictionary.ConvertFailReasonToString(result[0].Value)); return(false); } } catch (Exception ex) { Error.Set(context, ex.Message); if (!HideException.Get(context)) { throw ex; } } return(string.IsNullOrEmpty(Error.Get(context))); }
protected override bool Execute(CodeActivityContext context) { int ti_id = TiId.Get(context); Value.Set(context, 0); Status.Set(context, (int)VALUES_FLAG_DB.DataNotFull); StatusStr.Set(context, TVALUES_DB.FLAG_to_String(VALUES_FLAG_DB.DataNotFull, ";")); ValueDateTime.Set(context, DateTime.MinValue); List <TINTEGRALVALUES_DB> _valueList = new List <TINTEGRALVALUES_DB>(); ValueList.Set(context, _valueList); if (RequestType == enumEnrgyQualityRequestType.Archive) { if (StartDateTime.Get(context) == null || EndDateTime.Get(context) == null) { Error.Set(context, "Для архивных значений начальная и конечная дата должна быть определена"); return(false); } } try { List <TI_ChanelType> tiList = new List <TI_ChanelType>() { new TI_ChanelType() { TI_ID = ti_id, ChannelType = Channel.Get(context), DataSourceType = DataSourceType, } }; if (RequestType == enumEnrgyQualityRequestType.Archive) { //TODO часовой пояс var values = ARM_Service.DS_GetIntegralsValues_List(tiList, StartDateTime.Get(context), EndDateTime.Get(context), IsCoeffEnabled, false, false, true, false, false, enumTimeDiscreteType.DBHalfHours, EnumUnitDigit.None, null, false, false); if (values != null && values.IntegralsValue30orHour != null && values.IntegralsValue30orHour.Count > 0) { var integralTiValue = values.IntegralsValue30orHour[0]; double diff = 0; var flag = VALUES_FLAG_DB.None; if (integralTiValue.Val_List != null) { foreach (var iVal in integralTiValue.Val_List) { diff += iVal.F_VALUE_DIFF; flag = flag.CompareAndReturnMostBadStatus(iVal.F_FLAG); _valueList.Add(iVal); } } Value.Set(context, diff); var stat = flag; Status.Set(context, (int)stat); StatusStr.Set(context, TVALUES_DB.FLAG_to_String(stat, ";")); if (integralTiValue.Val_List != null && integralTiValue.Val_List.Count > 0) { ValueDateTime.Set(context, integralTiValue.Val_List.Last().EventDateTime); } } } else { var Val = ARM_Service.DS_ReadLastIntegralArchives(tiList); if (Val != null && Val.Count > 0) { var ValDict = Val.ToDictionary(k => k.Key, v => v.Value, new TI_ChanelComparer()); foreach (var r in tiList) { TINTEGRALVALUES_DB i_val; if (ValDict.TryGetValue(r, out i_val) && i_val != null) { Value.Set(context, i_val.F_VALUE); Status.Set(context, (int)i_val.F_FLAG); StatusStr.Set(context, TVALUES_DB.FLAG_to_String(i_val.F_FLAG, ";")); ValueDateTime.Set(context, i_val.EventDateTime); _valueList.Add(i_val); break; } } } } } catch (Exception ex) { Error.Set(context, ex.Message); if (!HideException.Get(context)) { throw ex; } } ValueList.Set(context, _valueList); return(string.IsNullOrEmpty(Error.Get(context))); }
protected override bool Execute(CodeActivityContext context) { List <BalanceInfo> Bps = new List <BalanceInfo>(); List <HierLev3BalanceInfo> Bhl3 = new List <HierLev3BalanceInfo>(); List <FormulaInfo> Frmls = new List <FormulaInfo>(); try { var res = ARM_Service.BL_Get_Balance_List(ID.Get(context), HierarchyType, WithNested); if (res == null) { Error.Set(context, "Ошибка получения информации о балансах (null)"); } else { if (res.Balance_PS_List_2 != null) { foreach (var item in res.Balance_PS_List_2) { Bps.Add(new BalanceInfo { UserName = item.UserName, BalancePS_UN = item.BalancePS_UN, BalancePSName = item.BalancePSName, User_ID = item.User_ID, HierLev1_ID = item.HierLev1_ID, HierLev2_ID = item.HierLev2_ID, HierLev3_ID = item.HierLev3_ID, PS_ID = item.PS_ID, TI_ID = item.TI_ID, BalancePSType_ID = item.BalancePSType_ID, ForAutoUse = item.ForAutoUse, HighLimit = item.HighLimit, LowerLimit = item.LowerLimit, DispatchDateTime = item.DispatchDateTime }); } } if (res.Balance_HierLev3_List != null) { foreach (var item in res.Balance_HierLev3_List) { Bhl3.Add(new HierLev3BalanceInfo { UserName = item.UserName, Balance_HierLev3_UN = item.Balance_HierLev3_UN, BalanceHierLev3Name = item.BalanceHierLev3Name, User_ID = item.User_ID, HierLev1_ID = item.HierLev1_ID, HierLev2_ID = item.HierLev2_ID, HierLev3_ID = item.HierLev3_ID, BalanceHierLev3Type_ID = item.BalanceHierLev3Type_ID, ForAutoUse = item.ForAutoUse, HighLimit = item.HighLimit, LowerLimit = item.LowerLimit }); } } if (res.Formula_List != null) { foreach (var item in res.Formula_List) { Frmls.Add(new FormulaInfo() { UserName = item.UserName, Formula_UN = item.Formula_UN, FormulaName = item.FormulaName, User_ID = item.User_ID, HierLev1_ID = item.HierLev1_ID, HierLev2_ID = item.HierLev2_ID, HierLev3_ID = item.HierLev3_ID, PS_ID = item.PS_ID, TI_ID = item.TI_ID, FormulaType_ID = item.FormulaType_ID, HighLimit = item.HighLimit, LowerLimit = item.LowerLimit, FormulaClassification_ID = item.FormulaClassification_ID, Voltage = item.Voltage }); } } } } catch (Exception ex) { Error.Set(context, ex.Message); if (!HideException.Get(context)) { throw ex; } } PSBalanceList.Set(context, Bps); HierLev3BalanceList.Set(context, Bhl3); FormulsList.Set(context, Frmls); return(string.IsNullOrEmpty(Error.Get(context))); }
protected override bool Execute(CodeActivityContext context) { Error.Set(context, null); KeyValuePair <Guid, TReportResult> RepF = new KeyValuePair <Guid, TReportResult>(); MemoryStream doc = null; try { /* * string User_ID = ""; * List<UserInfo> UInfos = ARM_Service.EXPL_Get_All_Users(); * foreach (UserInfo u in UInfos) * if (u.UserName == UserName) * { * User_ID = u.User_ID; * break; * } * if (string.IsNullOrEmpty(User_ID)) * { * Error.Set(context, "Пользователь '" + UserName+"' не найден в системе"); * return false; * } */ string userId = null; if (!string.IsNullOrEmpty(UserName)) { try { userId = UserHelper.GetIdByUserName(UserName); } catch (Exception ex) { Error.Set(context, ex.Message); if (!HideException.Get(context)) { throw ex; } } } if (string.IsNullOrEmpty(userId)) { Error.Set(context, "Пользователь '" + UserName + "' не найден в системе"); return(false); } RepF = ARM_Service.REP_Export_Report(userId, ReportFormat, Report_id.Get(context), StartDateTime.Get(context), EndDateTime.Get(context), null, WcfTimeOut.Get(context)); doc = LargeData.DownloadData(RepF.Key); if (!string.IsNullOrEmpty(RepF.Value.Error)) { Error.Set(context, RepF.Value.Error); } } catch (Exception ex) { Error.Set(context, ex.Message); if (!HideException.Get(context)) { throw ex; } } return(string.IsNullOrEmpty(Error.Get(context))); }
protected override bool Execute(CodeActivityContext context) { var formulaUn = Formula_UN.Get(context); if (string.IsNullOrEmpty(formulaUn)) { Error.Set(context, "Не определен идентификатор формулы"); return(false); } var fId = new TFormulaParam { FormulaID = formulaUn, FormulasTable = enumFormulasTable.Info_Formula_Description, IsFormulaHasCorrectDescription = true, }; TFormulasResult result = null; try { var res = ARM_Service.FR_GetFormulasResults(new List <TFormulaParam> { fId }, StartDateTime.Get(context), EndDateTime.Get(context), DiscreteType, DataSourceType, 1, IsCoeffEnabled, false, isPower, false, UnitDigit, null, false, false); if (res != null && res.Result_Values != null && res.Result_Values.Count > 0) { var rv = res.Result_Values[0]; if (rv != null && rv.Result_Values != null && rv.Result_Values.Count > 0) { result = rv.Result_Values[0]; if (result.Val_List != null) { var r = result.Val_List.Accomulate(); SummValues.Set(context, r.F_VALUE); Status.Set(context, (int)r.F_FLAG); StatusStr.Set(context, TVALUES_DB.FLAG_to_String(r.F_FLAG, ";")); } } } if (res.Errors != null) { Error.Set(context, res.Errors.ToString()); } FormulaResult.Set(context, result); } catch (Exception ex) { Error.Set(context, ex.Message); if (!HideException.Get(context)) { throw ex; } } return(string.IsNullOrEmpty(Error.Get(context))); }
protected override bool Execute(CodeActivityContext context) { object obj_id = ObjectID.Get(context); if (obj_id == null) { Error.Set(context, "Не опреден идентификатор объекта"); return(false); } SummValues.Set(context, 0); Status.Set(context, (int)VALUES_FLAG_DB.DataNotFull); StatusStr.Set(context, TVALUES_DB.FLAG_to_String(VALUES_FLAG_DB.DataNotFull, ";")); var found = false; List <TVALUES_DB> vallist = null; try { var tidList = new List <ID_Hierarchy_Channel>(); var IH_Chanel = new ID_Hierarchy_Channel(); IH_Chanel.ID = obj_id.ToString(); IH_Chanel.TypeHierarchy = (enumTypeHierarchy)ObjectType; IH_Chanel.Channel = (byte)Channel; tidList.Add(IH_Chanel); //TODO часовой пояс var res = ARM_Service.DS_GetArchivesHierObjectLastHalfHours( tidList, IsCoeffEnabled, StartDateTime.Get(context), EndDateTime.Get(context), DataSourceType, DiscreteType, UnitDigit, false, null); if (res != null && res.Result_Values != null && res.Result_Values.Count > 0) { var resultValues = new Dictionary <ID_Hierarchy_Channel, List <TVALUES_DB> >(res.Result_Values, new ID_Hierarchy_Channel_EqualityComparer()); if (resultValues.TryGetValue(IH_Chanel, out vallist) && vallist != null) { found = true; var R = vallist.Accomulate(); SummValues.Set(context, R.F_VALUE); Status.Set(context, (int)R.F_FLAG); StatusStr.Set(context, TVALUES_DB.FLAG_to_String(R.F_FLAG, ";")); } } } catch (Exception ex) { Error.Set(context, ex.Message); if (!HideException.Get(context)) { throw ex; } } if (vallist == null) { vallist = new List <TVALUES_DB>(); } ValueList.Set(context, vallist); return(string.IsNullOrEmpty(Error.Get(context))); }
protected override bool Execute(System.Activities.CodeActivityContext context) { Error.Set(context, null); if (string.IsNullOrEmpty(Args)) { Error.Set(context, "Не определены объекты для которых будет сформирован отчет"); return(false); } MultiPsSelectedArgs args; try { args = Args.DeserializeFromString <MultiPsSelectedArgs>(); } catch (Exception ex) { Error.Set(context, "Ошибка преобразования параметров " + ex.Message); return(false); } args.DtStart = StartDateTime.Get(context); //Начальная дата args.DtEnd = EndDateTime.Get(context); //Конечная дата var reportUn = Report_id.Get(context); var businessObjectName = string.Empty; //Определяем какой бизнес объект используется в отчете try { try { if (!string.IsNullOrEmpty(reportUn)) { businessObjectName = ServiceFactory.StimulReportInvokeSync <string>("GetUsedBusinessObjectsNames", reportUn); } } catch (Exception ex) { Error.Set(context, "Ошибка запроса бизнес модели отчета " + ex.Message); return(false); } BusinessObjectHelper.BuildBusinessObjectsParams(businessObjectName, args); var errs = new StringBuilder(); var compressed = StimulReportsProcedures.LoadDocument(Report_id.Get(context), errs, args, ReportFormat, args.TimeZoneId); if (errs.Length > 0) { Error.Set(context, errs.ToString()); } if (compressed == null) { Error.Set(context, "Ошибка загрузки документа"); return(false); } SendEmail(context, CompressUtility.DecompressGZip(compressed)); } catch (Exception ex) { Error.Set(context, ex.Message); if (!HideException.Get(context)) { throw ex; } } return(string.IsNullOrEmpty(Error.Get(context))); }
protected override bool Execute(CodeActivityContext context) { Error.Set(context, null); EnumGroupTPPowerReportMode?typecalc = null; if (GroupTPPowerReportMode == GroupTPPowerReportMode.OpenPeriod) { typecalc = EnumGroupTPPowerReportMode.OpenPeriod; } if (GroupTPPowerReportMode == GroupTPPowerReportMode.ClosedCurrPeriod) { typecalc = EnumGroupTPPowerReportMode.ClosedCurrPeriod; } if (GroupTPPowerReportMode == GroupTPPowerReportMode.ClosedNextPeriod) { typecalc = EnumGroupTPPowerReportMode.ClosedNextPeriod; } if (GroupTPPowerReportMode == GroupTPPowerReportMode.ClosedPrevPeriod) { typecalc = EnumGroupTPPowerReportMode.ClosedPrevPeriod; } string userName = UserName;//.Get(context); string userID = null; if (string.IsNullOrEmpty(userName)) { Error.Set(context, "Значение свойства 'Пользователь' не может быть пустым"); return(false); } try { List <UserInfo> UList = ARM_Service.EXPL_Get_All_Users(); foreach (UserInfo u in UList) { if (u.UserName.ToLower(System.Globalization.CultureInfo.InvariantCulture) == userName.ToLower(System.Globalization.CultureInfo.InvariantCulture)) { userID = u.User_ID; break; } } } catch (Exception ex) { Error.Set(context, ex.Message); if (!HideException.Get(context)) { throw ex; } } if (!string.IsNullOrEmpty(Error.Get(context))) { return(false); } if (string.IsNullOrEmpty(userID)) { Error.Set(context, "Не найден пользователь с именем '" + UserName + "'"); return(false); } List <int> listIDs = ListIDs.Get(context); if (listIDs == null) { Error.Set(context, "Неопределен список идентификаторов"); return(false); } List <ID_TypeHierarchy> idList = new List <ID_TypeHierarchy>(); foreach (int id in listIDs) { ID_TypeHierarchy idTypeHier = new ID_TypeHierarchy(); idTypeHier.ID = id; idTypeHier.TypeHierarchy = TypeIDs; idList.Add(idTypeHier); } MemoryStream doc = null; try { SectionIntegralComplexResults res; if (ReportType == enumReportType.ReportReplacementOfMeters) { //TODO часовой пояс res = ARM_Service.Rep_ReplacementOfAccountingFacilities(idList, StartDateTime.Get(context), EndDateTime.Get(context), ReportType, typecalc, userName, null); } else { //TODO часовой пояс res = ARM_Service.REP_OverflowControl(idList, StartDateTime.Get(context), EndDateTime.Get(context), ReportType, typecalc, userName, null, null, false, 3, ",", enumTimeDiscreteType.DBHours, null); } if (res.Document != null) { res.Document.Position = 0; var ms = CompressUtility.DecompressGZip(res.Document); ms.Position = 0; Document.Set(context, ms); //File.WriteAllBytes(@"C:\12\test_SysRep.xls",ms.ToArray()); } switch (res.AdapterType) { case TExportExcelAdapterType.toXLS: FileExtention.Set(context, "xls"); break; case TExportExcelAdapterType.toXLSx: FileExtention.Set(context, "xlsx"); break; case TExportExcelAdapterType.toHTML: FileExtention.Set(context, "html"); break; case TExportExcelAdapterType.toPDF: FileExtention.Set(context, "pdf"); break; } if (res.Errors != null) { Error.Set(context, res.Errors.ToString()); } } catch (Exception ex) { Error.Set(context, ex.Message); if (!HideException.Get(context)) { throw ex; } } return(string.IsNullOrEmpty(Error.Get(context))); }