コード例 #1
0
        /// <summary>
        /// Function binded to the submit button command
        /// </summary>
        public async void OnSubmit()
        {
            ServiceVisitSubmission obj = new ServiceVisitSubmission();

            obj.customerSignature = CustomerInspection;
            obj.techSignature     = TechnicianInspection;
            obj.reviewNotes       = Notes == null? "" : Notes;
            DateTime date = DateTime.Now;

            obj.lastUpdatedBy = CrossSecureStorage.Current.GetValue("UserName");

            //default status
            obj.serviceVisitStatus = ServiceVisitStatus.RevisitRequired.ToString();

            //find out the selected status
            foreach (var field in typeof(ServiceVisitStatus).GetFields())
            {
                var attribute = Attribute.GetCustomAttribute(field,
                                                             typeof(DescriptionAttribute)) as DescriptionAttribute;
                if (attribute == null)
                {
                    continue;
                }
                if (attribute.Description.Equals(ChosenStatus))
                {
                    obj.serviceVisitStatus = ((ServiceVisitStatus)field.GetValue(null)).ToString();
                    break;
                }
            }

            if (TechnicianInspection == true)
            {
                bool result = await new ServicesHandler.ServiceVisitServices().SubmitServiceVisit(ServiceVisitID.ToString(), obj);
                System.Console.WriteLine("*******" + result);
                if (result == true)
                {
                    MessagingCenter.Send(this, "submitTask");
                }
                else
                {
                    MessagingCenter.Send(this, "error");
                }
            }
            else
            {
                MessagingCenter.Send(this, "needInspection");
            }
        }
        public async Task <bool> SubmitServiceVisit(String ServiceVisitId, ServiceVisitSubmission submissionObject)
        {
            String url     = Configuration.baseURL + "/ServiceVisits/" + ServiceVisitId + "/submit";
            var    json    = JsonConvert.SerializeObject(submissionObject);
            var    content = new StringContent(json, Encoding.UTF8, "application/json");

            try
            {
                //set token
                String token = CrossSecureStorage.Current.GetValue("Token");
                _httpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", token);

                var current = Connectivity.NetworkAccess;
                if (current == NetworkAccess.Internet)
                {
                    var respond = await _httpClient.PutAsync(url, content);

                    if (respond.StatusCode == System.Net.HttpStatusCode.OK)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception)
            {
                return(false);
            }
        }