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))); }
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))); }