コード例 #1
0
        private async void Save()
        {
            try
            {
                if (SelectedOperator == null)
                {
                    Alert.Show("Debe seleccionar un operador", "Aceptar");
                    return;
                }
                if (string.IsNullOrWhiteSpace(OperatorPassword))
                {
                    Alert.Show("Debe ingresar el password del operador", "Aceptar");
                    return;
                }
                UserDialogs.Instance.ShowLoading("Validando operador...", MaskType.Black);
                ApiSrv = new Services.ApiService(ApiConsult.ApiAuth);
                if (!await ApiIsOnline())
                {
                    UserDialogs.Instance.HideLoading();
                    Toast.ShowError(AlertMessages.Error);
                    return;
                }
                else
                {
                    if (!await GetTokenSuccess())
                    {
                        UserDialogs.Instance.HideLoading();
                        Toast.ShowError(AlertMessages.Error);
                        return;
                    }
                    else
                    {
                        TokenPbAuth = TokenGet;
                        LoginPb loginPb = new LoginPb {
                            Username = this.SelectedOperator.IdUser, Password = this.OperatorPassword
                        };
                        Response resultValidateOperator = await ApiSrv.AuthenticateProbath(TokenPbAuth.Key, loginPb);

                        if (!resultValidateOperator.IsSuccess)
                        {
                            UserDialogs.Instance.HideLoading();
                            Toast.ShowError(resultValidateOperator.Message);
                            return;
                        }
                        else
                        {
                            OperatorObject operatorObject = JsonConvert.DeserializeObject <OperatorObject>(Crypto.DecodeString(resultValidateOperator.Data));
                            if (!operatorObject.IsValid)
                            {
                                UserDialogs.Instance.HideLoading();
                                Alert.Show(AlertMessages.UserInvalid);
                                return;
                            }
                            else
                            {
                                UserDialogs.Instance.HideLoading();
                                UserDialogs.Instance.ShowLoading("Validando instancias...", MaskType.Black);
                                ApiSrv = new Services.ApiService(ApiConsult.ApiMenuB);
                                if (!TokenValidator.IsValid(TokenMenuB))
                                {
                                    if (!await ApiIsOnline())
                                    {
                                        UserDialogs.Instance.HideLoading();
                                        Toast.ShowError(AlertMessages.Error);
                                        return;
                                    }
                                    else
                                    {
                                        if (!await GetTokenSuccess())
                                        {
                                            UserDialogs.Instance.HideLoading();
                                            Toast.ShowError(AlertMessages.Error);
                                            return;
                                        }
                                        else
                                        {
                                            TokenMenuB = TokenGet;
                                        }
                                    }
                                }
                                StringBuilder Instances        = new StringBuilder();
                                StringBuilder InstancesRunning = new StringBuilder();
                                foreach (InstanceRunningItem instanceRunningItem in InstanceRunningItems)
                                {
                                    Instances.Append(instanceRunningItem.IdInstance);
                                    Instances.Append(",");
                                    if (string.Compare(instanceRunningItem.RunningDisplay, "SI") == 0)
                                    {
                                        InstancesRunning.Append(instanceRunningItem.IdInstance);
                                        InstancesRunning.Append(",");
                                    }
                                }
                                if (!AppHelper.UserIsSupervisor(operatorObject))
                                {
                                    OperatorChangeUserIsInAllInstancesQueryValues operatorChangeUserIsInAllInstancesQueryValues = new OperatorChangeUserIsInAllInstancesQueryValues()
                                    {
                                        IdLog     = this.LogItem.IdLog,
                                        IdUser    = PbUser.IdUser,
                                        Instances = Instances.ToString()
                                    };
                                    Response resultOperatorChangeUserIsInAllInstances = await ApiSrv.GetOperatorChangeUserIsInAllInstances(TokenMenuB.Key, operatorChangeUserIsInAllInstancesQueryValues);

                                    if (!resultOperatorChangeUserIsInAllInstances.IsSuccess)
                                    {
                                        UserDialogs.Instance.HideLoading();
                                        Toast.ShowError(AlertMessages.Error);
                                        return;
                                    }
                                    else
                                    {
                                        UserInInstances = JsonConvert.DeserializeObject <List <OperatorChangeUserIsInAllInstances> >(Crypto.DecodeString(resultOperatorChangeUserIsInAllInstances.Data));
                                        if (!UserInInstances[0].UserIsInAllInstances)
                                        {
                                            UserDialogs.Instance.HideLoading();
                                            Alert.Show(string.Format("Usted no tiene permisos para ejecutar en todas las instancias que tiene asignada el operador: {0}", PbUser.IdUser), "Aceptar");
                                            return;
                                        }
                                    }
                                }
                                if (InstancesRunning.Length > 0)
                                {
                                    UserDialogs.Instance.HideLoading();
                                    UserDialogs.Instance.ShowLoading("Cambiando al operador seleccionado...", MaskType.Black);
                                    ApiSrv = new Services.ApiService(ApiConsult.ApiMenuB);
                                    if (!TokenValidator.IsValid(TokenMenuB))
                                    {
                                        if (!await ApiIsOnline())
                                        {
                                            UserDialogs.Instance.HideLoading();
                                            Toast.ShowError(AlertMessages.Error);
                                            return;
                                        }
                                        else
                                        {
                                            if (!await GetTokenSuccess())
                                            {
                                                UserDialogs.Instance.HideLoading();
                                                Toast.ShowError(AlertMessages.Error);
                                                return;
                                            }
                                            else
                                            {
                                                TokenMenuB = TokenGet;
                                            }
                                        }
                                    }
                                    //string MyIp;
                                    //foreach (IPAddress iPAddress in Dns.GetHostAddresses(Dns.GetHostName()))
                                    //{
                                    //    MyIp = iPAddress.ToString();
                                    //}
                                    OperatorChangeQueryValues operatorChangeQueryValues = new OperatorChangeQueryValues()
                                    {
                                        IdLog     = this.LogItem.IdLog,
                                        NewIdUser = operatorObject.IdUser,
                                        Instances = Instances.ToString(),
                                        OldIdUser = PbUser.IdUser,
                                        StartDate = ConvertStartDateToSp(this.LogItem.ExecutionDateTime),
                                        ClientIp  = "127.0.0.1"
                                    };
                                    Response resultOperatorChange = await ApiSrv.GetOperatorChange(TokenMenuB.Key, operatorChangeQueryValues);

                                    if (!resultOperatorChange.IsSuccess)
                                    {
                                        UserDialogs.Instance.HideLoading();
                                        Toast.ShowError(AlertMessages.Error);
                                        return;
                                    }
                                    else
                                    {
                                        OperatorChanges = JsonConvert.DeserializeObject <List <OperatorChange> >(Crypto.DecodeString(resultOperatorChange.Data));
                                        if (!OperatorChanges[0].IsSuccess)
                                        {
                                            UserDialogs.Instance.HideLoading();
                                            Alert.Show(string.Format("Ocurrió un error al intentar cambiar el operador actual por: {0}", operatorObject.IdUser), "Aceptar");
                                            return;
                                        }
                                        this.SelectedOperator = null;
                                        this.OperatorPassword = string.Empty;
                                        UserDialogs.Instance.HideLoading();
                                        Alert.Show(string.Format("Cambio de operador satisfactorio!"), "Aceptar");
                                    }
                                }
                                else
                                {
                                    UserDialogs.Instance.HideLoading();
                                    Alert.Show(string.Format("No hay instancias en ejecución!"), "Aceptar");
                                }
                            }
                        }
                    }
                }
            }
            catch //(Exception ex)
            {
                Toast.ShowError(AlertMessages.Error);
            }
        }
コード例 #2
0
ファイル: ApiService.cs プロジェクト: neovemx/ASTProBatch
 public async Task <Response> GetOperatorChangeUserIsInAllInstances(string accessToken, OperatorChangeUserIsInAllInstancesQueryValues QueryValues)
 {
     return(await HttpPost(accessToken, this.ApiControllerSet, ApiMethod.GetOperatorChangeUserIsInAllInstances, QueryValues));
 }