Esempio n. 1
0
        protected override bool Execute(CodeActivityContext context)
        {
            Error.Set(context, null);

            if (Parameters == null)
            {
                Error.Set(context, "Не определены параметры управления");
                return(false);
            }

            if (string.IsNullOrEmpty(LoginInfo.UserName) || string.IsNullOrEmpty(LoginInfo.Password))
            {
                Error.Set(context, "Не определены параметры авторизации");
                return(false);
            }

            int         tiId = UspdId.Get(context);
            CommandInfo paramscommand;

            try
            {
                try
                {
                    paramscommand = Parameters.DeserializeFromString <CommandInfo>();
                }
                catch (Exception ex)
                {
                    Error.Set(context, "Ошибка преобразования параметров команды" + ex.Message);
                    return(false);
                }

                //command.SerializeToString<CommandInfo>()   - в строку
                //command.DeserializeFromString<CommandInfo>()   - из строки

                List <KeyValuePair <int, FailReason> > res = ARM_Service.DM_Set_USPD_Methods(LoginInfo.UserName, LoginInfo.Password, paramscommand.Request,
                                                                                             new List <Tuple <int, List <KeyValuePair <long, DeviceMethodDescription> > > >()
                {
                    new Tuple <int, List <KeyValuePair <long, DeviceMethodDescription> > >(paramscommand.DeviceToClass_ID, paramscommand.Methods)
                }, new List <int>()
                {
                    tiId
                });
                if (res.Count == 1)
                {
                    Error.Set(context, GlobalEnumsDictionary.ConvertFailReasonToString(res[0].Value));
                }
            }
            catch (Exception ex)
            {
                Error.Set(context, ex.Message);
                if (!HideException.Get(context))
                {
                    throw ex;
                }
            }
            return(string.IsNullOrEmpty(Error.Get(context)));
        }
Esempio n. 2
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)));
        }