protected override bool Execute(CodeActivityContext context) { int pId = PsId.Get(context); try { //TODO часовой пояс var res = ARM_Service.Monit_GetStatisticInformationByPs(pId, StartDateTime.Get(context), EndDateTime.Get(context), null, TIType.Get(context)); StatisticInfo.Set(context, res); } 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.BL_GetFreeHierarchyBalanceResult(BalanceFreeHierarchyUNs.Get(context), StartDateTime.Get(context), EndDateTime.Get(context), TimeZoneId, TExportExcelAdapterType.toXLSx, false, DiscreteType, UnitDigit, false, UnitDigit, false, false, 0, 0, false, false, false); if (res != null && res.CalculatedValues != null) { Balances.Set(context, res.CalculatedValues.Values.ToList()); if (res.Errors != null && res.Errors.Length > 0) { Errors.Set(context, res.Errors.ToString()); } } } catch (Exception ex) { Errors.Set(context, ex.Message); if (!HideException.Get(context)) { throw ex; } } return(string.IsNullOrEmpty(Errors.Get(context))); }
/* * [Description("Строка ошибки")] * [DisplayName("Ошибка")] * public OutArgument<string> Error { get; set; } * * [RequiredArgument] * [Description("Уникальный номер отчета")] * [DisplayName("Идентификатор отчета")] * [Category("Отчет")] * public InArgument<string> Report_id { get; set; } * * [RequiredArgument] * [Description("Начальная дата отчета")] * [DisplayName("Начальная дата")] * [Category("Отчет")] * public InArgument<DateTime> StartDateTime { get; set; } * * [RequiredArgument] * [Description("Конечная дата отчета")] * [DisplayName("Конечная дата")] * [Category("Отчет")] * public InArgument<DateTime> EndDateTime { get; set; } * * [Description("Формат отчета")] * [DisplayName("Формат")] * [Category("Отчет")] * public ReportExportFormat ReportFormat { get; set; } * * //-------------------------------------------------------------- * [RequiredArgument] * [Description("Адрес получателя")] * [DisplayName("Адресат")] * [Category("Электронная почта")] * public InArgument<string> To { get; set; } * * [RequiredArgument] * [Description("Адрес отправителя")] * [DisplayName("Отправитель")] * [Category("Электронная почта")] * public InArgument<string> From { get; set; } * * [RequiredArgument] * [Description("Тема письма")] * [DisplayName("Тема")] * [Category("Электронная почта")] * public InArgument<string> Subject { get; set; } * * [DisplayName("Тело письма")] * [Category("Электронная почта")] * public InArgument<string> Body { get; set; } * * [RequiredArgument] * [DefaultValue(25)] * [DisplayName("Порт")] * [Category("Электронная почта")] * public int Port { get; set; } * * [RequiredArgument] * [DisplayName("Имя пользователя")] * [Category("Электронная почта")] * public InArgument<string> UserName { get; set; } * * [RequiredArgument] * [DisplayName("Пароль")] * [Category("Электронная почта")] * public InArgument<string> Password { get; set; } * * [RequiredArgument] * [DisplayName("Почтовый сервер")] * [Category("Электронная почта")] * public InArgument<string> Host { get; set; } * * protected override void CacheMetadata(CodeActivityMetadata metadata) * { * if (Port <= 0) * metadata.AddValidationError("Значение свойства 'Порт' должно быть больше 0"); * base.CacheMetadata(metadata); * } * * * protected string GetFileExtByReportFormat() * { * string Ext = ""; * if (ReportFormat == ReportExportFormat.Csv) Ext = "csv"; * if (ReportFormat == ReportExportFormat.Excel) Ext = "xls"; * if (ReportFormat == ReportExportFormat.Excel2007) Ext = "xlsx"; * if (ReportFormat == ReportExportFormat.ImageBmp) Ext = "bmp"; * if (ReportFormat == ReportExportFormat.ImageEmf) Ext = "emf"; * if (ReportFormat == ReportExportFormat.ImageGif) Ext = "gif"; * if (ReportFormat == ReportExportFormat.ImageJpeg) Ext = "jpg"; * if (ReportFormat == ReportExportFormat.ImagePcx) Ext = "pcx"; * if (ReportFormat == ReportExportFormat.ImagePng) Ext = "png"; * if (ReportFormat == ReportExportFormat.ImageTiff) Ext = "Tiff"; * if (ReportFormat == ReportExportFormat.Mht) Ext = "mht"; * if (ReportFormat == ReportExportFormat.Ods) Ext = "ods"; * if (ReportFormat == ReportExportFormat.Odt) Ext = "odt"; * if (ReportFormat == ReportExportFormat.Pdf) Ext = "pdf"; * if (ReportFormat == ReportExportFormat.Ppt2007) Ext = "ppt"; * if (ReportFormat == ReportExportFormat.Rtf) Ext = "rtf"; * if (ReportFormat == ReportExportFormat.Text) Ext = "txt"; * if (ReportFormat == ReportExportFormat.Word2007) Ext = "docx"; * if (ReportFormat == ReportExportFormat.Xps) Ext = "xps"; * if (Ext != "") * Ext = "." + Ext; * return Ext; * } * * protected void SendEmail(CodeActivityContext context,MemoryStream AttachContent) * { * * MailMessage mailMessage = new MailMessage(); * * mailMessage.From = new MailAddress(From.Get(context)); * string STo = To.Get(context); * * STo.Split(new Char[] { ';' }, StringSplitOptions.RemoveEmptyEntries).ToList() * .ForEach(item => mailMessage.To.Add(item.Trim())); * * mailMessage.Subject = Subject.Get(context); * mailMessage.Body = Body.Get(context); * * SmtpClient smtpClient = new SmtpClient(); * smtpClient.Host = Host.Get(context); * smtpClient.Port = Port; * smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network; * if (!String.IsNullOrEmpty(UserName.Get(context)) && !String.IsNullOrEmpty(Password.Get(context))) * smtpClient.Credentials = new System.Net.NetworkCredential(UserName.Get(context), Password.Get(context)); * * if (AttachContent != null) * { * Attachment Attach = new Attachment(AttachContent, "Отчет"+GetFileExtByReportFormat()); * mailMessage.Attachments.Add(Attach); * } * //throw new Exception("Error sending email"); // test exception * smtpClient.Send(mailMessage); * } */ protected override bool Execute(CodeActivityContext context) { Error.Set(context, null); //SectionIntegralComplexResults DataReport; KeyValuePair <Guid, TReportResult> RepF = new KeyValuePair <Guid, TReportResult>(); MemoryStream doc = null; try { string userId = null; if (!string.IsNullOrEmpty(User_ID)) { try { userId = UserHelper.GetIdByUserName(User_ID); if (string.IsNullOrEmpty(userId)) // похоже тут не имя а UserID { userId = User_ID; } } catch (Exception ex) { Error.Set(context, ex.Message); if (!HideException.Get(context)) { throw ex; } } } 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); } else { SendEmail(context, doc); } } 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 (TIList.Get(context) == null) { Error.Set(context, "Не определен список идентификаторов ТИ"); return(false); } var inList = TIList.Get(context); if (inList.Count == 0) { Error.Set(context, "Список идентификаторов ТИ не должен быть пустым"); return(false); } var result = new List <EventsJournalTI>(); try { var res = ARM_Service.JTI_GetAllTIJournals(inList, StartDateTime.Get(context), EndDateTime.Get(context)); if (res != null) { foreach (var jti in res) { result.Add(new EventsJournalTI { TI_ID = jti.TI_ID, EventDateTime = jti.EventDateTime, EventCode = jti.EventCode, DispatchDateTime = jti.DispatchDateTime, ExtendedEventCode = jti.ExtendedEventCode, Event61968Domain_ID = jti.Event61968Domain_ID, Event61968DomainPart_ID = jti.Event61968DomainPart_ID, Event61968Type_ID = jti.Event61968Type_ID, Event61968Index_ID = jti.Event61968Index_ID, Event61968Param = jti.Event61968Param }); } } } catch (Exception ex) { Error.Set(context, ex.Message); if (!HideException.Get(context)) { throw ex; } } EventsJournal.Set(context, result); return(string.IsNullOrEmpty(Error.Get(context))); }
protected override bool Execute(CodeActivityContext context) { var buildID = Guid.NewGuid(); //throw new Exception("Error !!!!!!!!!!"); // test exception try { var psList = Ps_List.Get(context); if (psList == null || psList.Count == 0) { Error.Set(context, "Список ПС не может быть пустым"); return(false); } //TODO часовой пояс var res = ARM_Service.BPS_GenerateBalancePSExcel(buildID, psList, StartDateTime.Get(context), EndDateTime.Get(context), DiscreteType, DataSourceType, isPower, false, null); if (res != null) { var generatedFile = new MemoryStream(); var res2 = ARM_Service.AUTODOCUM_LoadGeneratedZip(buildID); if (res2 != null) { ReadAndWriteToAnotherStream(res2, generatedFile, false); generatedFile.Seek(0, SeekOrigin.Begin); Document.Set(context, generatedFile); ResultReport.Set(context, res); } } } 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 (string.IsNullOrEmpty(ObjectIds)) { Errors.Set(context, "Не определены объекты для которых будет сформирован баланс"); return(false); } MultiPsSelectedArgs args; try { args = ObjectIds.DeserializeFromString <MultiPsSelectedArgs>(); } catch (Exception ex) { Errors.Set(context, "Ошибка преобразования параметров " + ex.Message); return(false); } try { var res = ARM_Service.BL_GetFreeHierarchyBalanceByObjects(args.PSList, StartDateTime.Get(context), EndDateTime.Get(context), TimeZoneId, DiscreteType, UnitDigit); if (res != null && res.CalculatedValues != null) { Balances.Set(context, res.CalculatedValues.Values.ToList()); if (res.Errors != null && res.Errors.Length > 0) { Errors.Set(context, res.Errors.ToString()); } } } catch (Exception ex) { Errors.Set(context, ex.Message); if (!HideException.Get(context)) { throw ex; } } return(string.IsNullOrEmpty(Errors.Get(context))); }
protected override bool Execute(CodeActivityContext context) { try { var balanceFreeHierarchyUNs = new List <string> { BalanceId.Get(context) }; var balanceResult = ARM_Service.BL_GetFreeHierarchyBalanceResult(balanceFreeHierarchyUNs, StartDateTime.Get(context), EndDateTime.Get(context), null, TExportExcelAdapterType.toXLSx, true, DiscreteType, EnumUnitDigit.Kilo, false, EnumUnitDigit.Kilo, true, false, 3, 3, false, false, false); if (balanceResult != null) { if (balanceResult.CalculatedValues == null || balanceResult.CalculatedValues.Count == 0) { throw new Exception("Документ не сформирован. Неверный идентификатор или баланс удален."); } var calculatedResult = balanceResult.CalculatedValues.First().Value; if (calculatedResult.CompressedDoc == null) { throw new Exception("Документ пуст. Ошибка формирования"); } var ms = new MemoryStream(); CompressUtility.DecompressGZip(calculatedResult.CompressedDoc).CopyTo(ms); ms.Position = 0; Document.Set(context, ms); } } 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 balanceUn = BalancePS_UN.Get(context); if (string.IsNullOrEmpty(balanceUn)) { Error.Set(context, "Не определен Идентификатор баланса"); return(false); } //Balance_Description_PS BDesc = ARM_Service.BL_Get_BalancePS_Descriptions(BalanceUN); //if (BDesc == null) //{ // Error.Set(context, "Не определен баланс c таким идентификатором " + BalanceUN); // return false; //} //if (BDesc.Balance_Info_2==null || !BDesc.Balance_Info_2.PS_ID.HasValue) //{ // Error.Set(context, "Не определена связь баланса c ПС"); // return false; //} TBalansPSValidateResult result = null; //var listPs = new List<int> {(int) BDesc.Balance_Info_2.PS_ID}; try { result = ARM_Service.BPS_GetPSBalanceValidation(balanceUn, StartDateTime.Get(context), EndDateTime.Get(context), DataSourceType, isPower, null, true); } catch (Exception ex) { Error.Set(context, ex.Message); if (!HideException.Get(context)) { throw ex; } } BalansPSValidateResult.Set(context, result); return(string.IsNullOrEmpty(Error.Get(context))); }
protected override bool Execute(CodeActivityContext context) { SectionIntegralComplexResults Res; try { //TODO часовой пояс Res = ARM_Service.SIA_GetSectionIntegralActExcelDocumentWithATSCode( SectionID.Get(context), StartDateTime.Get(context), DataSourceType, DiscreteType, IsPower, IsEnabledRChannel, BusRelation, IsAllocateCA, IsOffsetFromMoscowEnbledForDrums, IsFilterPSEnabled, IsReadCalculatedValues, IsClosedPeriod, null); if (Res.Document != null) { Res.Document.Position = 0; MemoryStream ms = CompressUtility.DecompressGZip(Res.Document); 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) { 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) { 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))); }
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) { 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(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) { List <string> _ListAisId = ListAisId.Get(context); bool roundData = RoundData.Get(context); if (_ListAisId == null || _ListAisId.Count == 0) { Error.Set(context, "Список идентификаторов АИС не может быть пустым"); return(false); } try { XMLATSExportSingleObjectResultCompressed Res = ARM_Service.XMLExportGetAIS80020Ext(StartDateTime.Get(context), EndDateTime.Get(context), _ListAisId, DataSourceType, isReadCalculatedValues, roundData, false, false, false, 1, true); if (!string.IsNullOrEmpty(Res.Errors)) { Error.Set(context, Res.Errors); } Document.Set(context, Res.XMLStreamCompressed); } 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); 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) { 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))); }
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))); }