Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 3
0
        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)));
        }
Ejemplo n.º 4
0
        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)));
        }
Ejemplo n.º 5
0
        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)));
        }
Ejemplo n.º 6
0
        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)));
        }
Ejemplo n.º 7
0
        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)));
        }
Ejemplo n.º 8
0
        //[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)));
        }
Ejemplo n.º 9
0
        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)));
        }
Ejemplo n.º 10
0
        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)));
        }
Ejemplo n.º 11
0
        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)));
        }
Ejemplo n.º 12
0
        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)));
        }
Ejemplo n.º 13
0
        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)));
        }
Ejemplo n.º 14
0
        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)));
        }
Ejemplo n.º 15
0
        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)));
        }
Ejemplo n.º 16
0
        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)));
        }
Ejemplo n.º 18
0
        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)));
        }