Exemple #1
0
        public async void OnSaveClicked(object sender, EventArgs e)
        {
            var m_Http = XComosMobile.Services.XServices.Instance.GetService <HttpClient>();

            IBRServiceContracts.CWriteValueCollection collection = new IBRServiceContracts.CWriteValueCollection()
            {
                Values = Values.Values.ToArray(),
            };

            //var http = m_ComosWeb.GetComosHttpClient();
            string user         = ProjectData.User;
            string project      = ProjectData.SelectedProject.UID;
            string workinglayer = ProjectData.SelectedLayer.UID;
            string language     = ProjectData.SelectedLanguage.LCID;

            var    db         = Services.XServices.Instance.GetService <Services.XDatabase>();
            string servername = db.ReadSetting("ServerName", "http://siemens.southcentralus.cloudapp.azure.com");

            string        output  = Newtonsoft.Json.JsonConvert.SerializeObject(collection);
            StringContent content = new StringContent(output, Encoding.UTF8, "application/json");
            string        url     = string.Format(servername + "/BRMobile/v1/WriteComosValues/{0}/{1}/{2}/{3}",
                                                  user, WebUtility.UrlEncode(project), WebUtility.UrlEncode(workinglayer), language);


            // Working POST

            /*
             *          string output = Newtonsoft.Json.JsonConvert.SerializeObject(collection);
             *          StringContent content = new StringContent(output, Encoding.UTF8, "application/json");
             *          string url = string.Format("http://siemens.southcentralus.cloudapp.azure.com/BRMobile/v1/WriteComosValues/{0}/{1}/{2}/{3}",
             *                          user, WebUtility.UrlEncode(project), WebUtility.UrlEncode(workinglayer), language);
             */

            var response = await m_Http.PostAsync(url, content);

            var platform = Services.XServices.Instance.GetService <Services.IPlatformSystem>();

            if (response.StatusCode != HttpStatusCode.OK)
            {
                await App.Current.MainPage.DisplayAlert(Services.TranslateExtension.TranslateText("error"), Services.TranslateExtension.TranslateText("save_failed") + response.StatusCode.ToString(), "OK");

                return;
            }

            output = await response.Content.ReadAsStringAsync();

            IBRServiceContracts.TResult <IBRServiceContracts.CWriteValueResult[]> result =
                Newtonsoft.Json.JsonConvert.DeserializeObject <
                    IBRServiceContracts.TResult <IBRServiceContracts.CWriteValueResult[]> >(output);
            if (!result.Status)
            {
                await App.Current.MainPage.DisplayAlert(Services.TranslateExtension.TranslateText("error"), Services.TranslateExtension.TranslateText("save_failed") + result.Message, "OK");

                return;
            }

            await App.Current.MainPage.DisplayAlert("", Services.TranslateExtension.TranslateText("done"), "OK");

            return;
        }
Exemple #2
0
        private async Task <bool> SaveValuesToComos(ComosWebSDK.Data.CObject cacheobj)
        {
            string user         = ProjectData.User;
            string project      = ProjectData.SelectedProject.UID;
            string workinglayer = ProjectData.SelectedLayer.UID;
            string language     = ProjectData.SelectedLanguage.LCID;

            var m_Http = Services.XServices.Instance.GetService <HttpClient>();

            ComosWebSDK.brcomosweb.ComosBRWeb m_comosbrweb = new ComosWebSDK.brcomosweb.ComosBRWeb(m_Http);


            var db = Services.XServices.Instance.GetService <Services.IDatabase>();

            IBRServiceContracts.CWriteValueCollection collection = db.GetAllCachedSpecsFromOwner(cacheobj.UID, project, workinglayer);

            //string servername = db.ReadSetting("ServerName", "");

            string servername = db.ReadSetting("ServerNameBR", "http://siemens.southcentralus.cloudapp.azure.com:5109/Service.svc");



            var result = true;

            if (collection.Values.Count() > 0)
            {
                this.ShowSpinner(Services.TranslateExtension.TranslateText("saving"));
                try
                {
                    result = await m_comosbrweb.WriteComosValues(collection, servername, user, project, workinglayer, language);
                }
                catch (Exception ex)
                {
                    await App.Current.MainPage.DisplayAlert("Error", ex.Message, "OK");

                    return(false);
                }

                this.HideSpinner();
            }



            if (result)
            {
                if (cacheobj != null)
                {
                    db.ClearAllSpecsFromOwner(cacheobj.UID, project, workinglayer);
                }
                //ShowToast(Services.TranslateExtension.TranslateText("done"));
                return(true);
            }
            else
            {
                //ShowToast(Services.TranslateExtension.TranslateText("save_failed"));
                return(false);
            }
        }
Exemple #3
0
        public async Task <IBRServiceContracts.TResult <string> > CreateComosDevice(IBRServiceContracts.CWriteValueCollection collection, string server, string project, string layer, string lang, string owner, string cdev, string user, string desc)
        {
            string output = Newtonsoft.Json.JsonConvert.SerializeObject(collection);

            StringContent content = new StringContent(output, Encoding.UTF8, "application/json");
            string        url     = string.Format(server + "/v1/CreateComosDeviceByWebUID/{0}/{1}/{2}/{3}/{4}/{5}/{6}",
                                                  WebUtility.UrlEncode(project), WebUtility.UrlEncode(layer), lang, WebUtility.UrlEncode(owner), WebUtility.UrlEncode(cdev), user, desc);

            var response = await m_Http.PostAsync(url, content);

            output = await response.Content.ReadAsStringAsync();

            var result = Newtonsoft.Json.JsonConvert.DeserializeObject <IBRServiceContracts.TResult <string> >(output);

            return(result);
        }
Exemple #4
0
        private async Task <bool> SaveValuesToComos()
        {
            string user         = ProjectData.User;
            string project      = ProjectData.SelectedProject.UID;
            string workinglayer = ProjectData.SelectedLayer.UID;
            string language     = ProjectData.SelectedLanguage.LCID;

            IBRServiceContracts.CWriteValueCollection collection = new IBRServiceContracts.CWriteValueCollection()
            {
                Values = Values.Values.ToArray(),
            };

            var    db         = Services.XServices.Instance.GetService <Services.XDatabase>();
            string servername = db.ReadSetting("ServerNameBR", "http://siemens.southcentralus.cloudapp.azure.com:5109/Service.svc");

            this.ShowSpinner(Services.TranslateExtension.TranslateText("saving"));
            var m_comosbrweb = GetBRComosWeb();

            try
            {
                var result = await m_comosbrweb.WriteComosValues(collection, servername, user, project, workinglayer, language);

                this.HideSpinner();

                if (result)
                {
                    if (MainObject != null)
                    {
                        db.ClearAllSpecsFromOwner(MainObject.UID, project, workinglayer);
                    }
                    ShowToast(Services.TranslateExtension.TranslateText("done"));
                    return(true);
                }
                else
                {
                    ShowToast(Services.TranslateExtension.TranslateText("save_failed"));
                    return(false);
                }
            }
            catch (Exception ex)
            {
                await App.Current.MainPage.DisplayAlert("Error", ex.Message, "OK");

                return(false);
            }
        }
Exemple #5
0
        public async Task <bool> WriteComosValues(IBRServiceContracts.CWriteValueCollection collection, string servername, string user, string project, string workinglayer, string language)
        {
            string        output  = Newtonsoft.Json.JsonConvert.SerializeObject(collection);
            StringContent content = new StringContent(output, Encoding.UTF8, "application/json");
            string        url     = string.Format(servername + "/v1/WriteComosValues/{0}/{1}/{2}/{3}",
                                                  user, WebUtility.UrlEncode(project), WebUtility.UrlEncode(workinglayer), language);

            var response = await m_Http.PostAsync(url, content); // Acá hay un error

            if (response.StatusCode != HttpStatusCode.OK)
            {
                return(false);
            }

            output = await response.Content.ReadAsStringAsync();

            IBRServiceContracts.TResult <IBRServiceContracts.CWriteValueResult[]> result =
                Newtonsoft.Json.JsonConvert.DeserializeObject <
                    IBRServiceContracts.TResult <IBRServiceContracts.CWriteValueResult[]> >(output);

            return(result.Status);
        }
Exemple #6
0
        public async void OnSaveClicked(object sender, EventArgs e)
        {
            bool cancelBackButtonAction = false;
            var  plataform = Services.XServices.Instance.GetService <Services.IPlatformSystem>();

            if (plataform.IsOnline)
            {
                //If is Parte,elemento y Modo (PEM) activity, Z10T00002.Z001E, Z10T00002.Z002E and Z10T00002.Z003E attributes must be in changed values, and they must have a value different from "". Else, cancel save! (prevent sending blank failure tree)
                bool rejectSave = false;
                if (this.isPEMActivity)
                {
                    var attributePEMindex = 0;
                    IBRServiceContracts.CWriteValueCollection collection = new IBRServiceContracts.CWriteValueCollection()
                    {
                        Values = Values.Values.ToArray(),
                    };

                    KeyValuePair <string, IBRServiceContracts.CWriteValue> changedValues = new KeyValuePair <string, IBRServiceContracts.CWriteValue>();
                    for (int i = 0; i < Values.Count; i++)
                    {
                        changedValues = Values.ElementAt(i);
                        if (changedValues.Key == "Z10T00002.Z001E" || changedValues.Key == "Z10T00002.Z002E" || changedValues.Key == "Z10T00002.Z003E")
                        {
                            attributePEMindex++;
                            if (changedValues.Value.ToString() == "")
                            {
                                rejectSave = true;
                            }
                        }
                    }
                    if (attributePEMindex != 3)
                    {
                        rejectSave = true;
                    }                                                   //if I didnt find three attributes, then they might not be completed
                }

                if (!rejectSave)
                {
                    await SaveValuesToComos();

                    this.ShowSpinner("Guardando media...");

                    await midiacontrol.UploadAllPicturesFromObject(MainObject.UID);

                    await midiacontrol.UploadAllAudiosFromObject(MainObject.UID);
                }
                else
                {
                    ShowToast("Se debe completar el árbol de fallas para poder guardar la actividad");
                    cancelBackButtonAction = true;
                }

                this.HideSpinner();
            }
            else
            {
                CacheAttributes();
            }

            if (!cancelBackButtonAction)
            {
                this.reloadWorkPackageGrid = true;
                DoBackButtonPressed();
            }
        }
Exemple #7
0
        private async void saveTransactionToComos(string itemLargo, string cantidad, bool aComprar)
        {
            try
            {
                if (Double.Parse(cantidad) > 0)
                {
                    if (aComprar)
                    {
                        CheckValue("Y01.E03", "Compra", "");
                        CheckValue("Y01.E05", "", "");       // Pedido
                        CheckValue("Y01.E06", "", "");       // Entregado
                        CheckValue("Y01.E07", cantidad, ""); // Comprado
                    }
                    else
                    {
                        CheckValue("Y01.E03", "Pedido", "");
                        CheckValue("Y01.E05", cantidad, "");     // Pedido
                        CheckValue("Y01.E06", "", "");           // Entregado
                        CheckValue("Y01.E07", "", "");           // Comprado
                    }
                    CheckValue("Y01.E08", ProjectData.User, ""); // User
                }
                else
                {
                    CheckValue("Y01.E03", "Entrega", "");
                    CheckValue("Y01.E05", cantidad, "");         // Pedido
                    CheckValue("Y01.E06", "", "");               // Entregado
                    CheckValue("Y01.E07", "", "");               // Comprado
                    CheckValue("Y01.E08", ProjectData.User, ""); // User
                }

                CheckValue("Y01.E01", DateTime.Now.ToString("d-MM-yyyy HH:mm:ss"), ""); // Time of day
                CheckValue("Y01.E04", itemLargo, "");                                   // Material Name

                IBRServiceContracts.CWriteValueCollection collection = new IBRServiceContracts.CWriteValueCollection()
                {
                    Values = Values.Values.ToArray(),
                };

                this.ShowSpinner("Guardando transacción...");

                var m_Http = Services.XServices.Instance.GetService <HttpClient>();
                ComosWebSDK.brcomosweb.ComosBRWeb m_comosbrweb = new ComosWebSDK.brcomosweb.ComosBRWeb(m_Http);

                var result = await m_comosbrweb.CreateComosDevice(
                    collection, db.ReadSetting("ServerNameBR", ""), ProjectData.SelectedProject.UID,
                    ProjectData.SelectedLayer.UID, ProjectData.SelectedLanguage.LCID, wp.UID,
                    "U:13:A4A9QUA65S:I", ProjectData.User, "History Object (WP Transactions)");

                if (!result.Status)
                {
                    this.ShowToast("Error. No se guardó la transacción en COMOS. Contacte al administrador. Referencia: COMOS.IO");
                }
                else
                {
                    if (result.data != "")
                    {
                        this.ShowToast("Transacción guardada");
                        returnToWorkpackagePage();
                    }
                    else
                    {
                        this.ShowToast("Error. No se pudo guardar la transacción correctamente. Contacte al administrador. Referencia: COMOS.IO");
                    }
                }
            }
            catch (Exception ex2)
            {
                await App.Current.MainPage.DisplayAlert("Error", ex2.Message, "OK");
            }
            finally
            {
                this.HideSpinner();
            }
        }
Exemple #8
0
        public async void OnUploadClicked(object sender, EventArgs e)
        {
            if (!CheckOnline())
            {
                this.ShowToast(Services.TranslateExtension.TranslateText("uploading_tasks_only_online"));
                return;
            }

            if (TasksCollection == null || TasksCollection.Length == 0)
            {
                this.ShowToast(Services.TranslateExtension.TranslateText("no_tasks_found"));
                return;
            }

            Services.XDatabase     db          = Services.XServices.Instance.GetService <Services.XDatabase>();
            ViewModels.ProjectData projectdata = Services.XServices.Instance.GetService <ViewModels.ProjectData>();
            IBRServiceContracts.CWriteValueCollection totalvalues = new IBRServiceContracts.CWriteValueCollection();

            this.ShowSpinner(Services.TranslateExtension.TranslateText("saving_tasks"));

            foreach (var item in TasksCollection)
            {
                IBRServiceContracts.CWriteValueCollection values = db.GetAllCachedSpecsFromOwner(item.Row.Items[0].UID, projectdata.SelectedProject.UID, projectdata.SelectedLayer.UID);
                if (totalvalues.Values == null)
                {
                    totalvalues.Values = values.Values;
                }
                else
                {
                    totalvalues.Values = totalvalues.Values.Concat(values.Values).ToArray();
                }
            }


            string user         = projectdata.User;
            string project      = projectdata.SelectedProject.UID;
            string workinglayer = projectdata.SelectedLayer.UID;
            string language     = projectdata.SelectedLanguage.LCID;
            string servername   = db.ReadSetting("ServerNameBR", "http://siemens.southcentralus.cloudapp.azure.com:5109/Service.svc");
            var    m_comosbrweb = GetBRComosWeb();

            try
            {
                var result = await m_comosbrweb.WriteComosValues(totalvalues, servername, user, project, workinglayer, language);

                if (result)
                {
                    foreach (var item in totalvalues.Values)
                    {
                        db.ClearAllSpecsFromOwner(item.WebSystemUID, project, workinglayer);
                    }

                    m_QueryResult   = null;
                    TasksCollection = null;
                    Device.BeginInvokeOnMainThread(async() => { await LoadTasks(); });

                    ShowToast(Services.TranslateExtension.TranslateText("done"));
                }
                else
                {
                    ShowToast(Services.TranslateExtension.TranslateText("save_failed"));
                }
            }
            catch (Exception ex)
            {
                await App.Current.MainPage.DisplayAlert("Error", ex.Message, "OK");

                return;
            }

            this.HideSpinner();
        }
Exemple #9
0
        public void CacheDeviceToCreate(string project, string overlay, string owner, string cdev, IBRServiceContracts.CWriteValueCollection collection, string tempuid, string ownername, string ownerpicture, string description)
        {
            string values = Newtonsoft.Json.JsonConvert.SerializeObject(collection);

            m_DB.CacheDeviceToCreate(project, overlay, owner, cdev, values, tempuid, ownername, ownerpicture, description);
        }