private async void AddField(object sender, EventArgs args) { try { var fi = configuration.Inspections.FirstOrDefault(); var FieldInspection = new FieldInspection() { Template = fi.Key, FieldName = "Field " + (Inspections.Count + 1).ToString(), CreatedBy = User.Key, Key = Guid.NewGuid().ToString(), Status = DCAnalytics.Statuses.New, ConfigurationId = fi.ConfigurationId, DateTime = DateTime.Now, FarmerKey = questionaire.Key, Sections = fi.Sections }; FieldInspection.Sections.SelectMany(s => s.Questions).ForEach(q => q.Answers.Clear()); if (FieldInspection.Sections.Count > 0 || FieldInspection.Sections.SelectMany(x => x.Questions).Count() > 0) { await Navigation.PushAsync(new QSections(DCAnalytics.ObjectType.Inspection, questionaire, null, null, FieldInspection)); } else { await PopupNavigation.Instance.PushAsync(new MessageBox("This field inspection is incomplete, please contact admin for more information", MessageType.Exit, this), true); } } catch (Exception ex) { await PopupNavigation.Instance.PushAsync(new MessageBox(ex.StackTrace, MessageType.Exit, this), true); } }
public QSections(DCAnalytics.ObjectType objectType, Questionaire _questionaire, QuestionairePageState questionairePageState = null, Certification _certification = null, FieldInspection _fieldInspection = null) { InitializeComponent(); controls = new UIControls(this); ObjectType = objectType; selectPageState = this; promptPageState = this; picturePageState = this; locationPageState = this; questionaire = null; questionaire = _questionaire; FieldInspection = _fieldInspection; certification = _certification; Title = questionaire.Name; this.questionairePageState = questionairePageState; sectionViews = new List <SectionView>(); _questionaireStatus = string.IsNullOrEmpty(questionaire.Key) ? QuestionaireStatus.Create : QuestionaireStatus.Modify; _dbManager = new DatabaseManager(); user = AiDataStore.GetUser(); configuration = AiDataStore.GetConfiguration(); isValid = true; Sections.Clear(); Sections = (FieldInspection != null) ? FieldInspection.Sections: (certification != null) ? certification.Sections: questionaire.Sections; dependencies.Clear(); navigatedTargetSections.Clear(); controls.targets.Clear(); Init(); }
internal void Sync(FieldInspection fieldInspection, Question question) { this.fieldInspection = fieldInspection; foreach (Answer answer in question.Answers) { answer.questionKey = question.Key; Save(answer); } }
public bool SyncFieldInspection(FieldInspection inspection) { try { FieldInspectionProvider inspectionProvider = new FieldInspectionProvider(DbInfo); return(inspectionProvider.Sync(inspection)); } catch (Exception ex) { throw ex; } }
public HttpResponseMessage Post(FieldInspection inspection) { try { var provider = new SyncProvider(DbInfo); var synched = provider.SyncFieldInspection(inspection); return(Request.CreateResponse(HttpStatusCode.OK, synched)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.OK, ex.Message)); } }
public HttpResponseMessage Post(FieldInspection inspection) { try { var provider = new FieldInspectionProvider(DbInfo); var isSaved = provider.Save(inspection); return(Request.CreateResponse(HttpStatusCode.OK, isSaved)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message)); } }
internal static async Task <HttpResponseMessage> SynchronizeInspection(FieldInspection inspection) { var uri = new Uri(string.Format(Constants.EndPoint + "/sync/inspection/", string.Empty)); try { var json = JsonConvert.SerializeObject(inspection); var content = new StringContent(json, Encoding.UTF8, "application/json"); var response = await _client.PostAsync(uri, content); return(response); } catch (Exception ex) { return(new HttpResponseMessage(HttpStatusCode.ServiceUnavailable)); } }
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { if (objectType == typeof(FieldInspection)) { JObject obj = serializer.Deserialize <JToken>(reader) as JObject; if (obj != null) { var inspection = new FieldInspection(); inspection.ReadJson(obj); return(inspection); } else { return(null); } } else { return(null); } }
private void AddMore() { EnumList prices = _configuration.EnumerationLists.Add(); prices.Name = "Prices"; EnumListValue val = prices.EnumValues.Add(); val.Code = 2000; val.Description = "Coffee"; val = prices.EnumValues.Add(); val.Code = 2000; val.Description = "Cotton"; val = prices.EnumValues.Add(); val.Code = 2000; val.Description = "Vanilla"; //Certifications FairTrade fairTrade = _configuration.Certifications.Add(CertificationTypes.FairTrade) as FairTrade; fairTrade.Farmer = new Questionaire(null); fairTrade.Name = "fairTrade"; Section section = fairTrade.Sections.Add(); section.Name = "Section1"; SubSection sb2 = section.SubSections.Add(); sb2.Name = "SubSection1"; var openQuestion1 = sb2.Questions.AddOpenQuestion(); openQuestion1.QuestionText = "Where do you stay"; openQuestion1.Name = "Residence"; var openQuestion = section.Questions.AddOpenQuestion(); openQuestion.QuestionText = "Where do you stay"; openQuestion.Name = "Residence"; openQuestion = fairTrade.Questions.AddOpenQuestion(); openQuestion.QuestionText = "Where do you stay"; openQuestion.Name = "Residence"; //organic Organic organic = _configuration.Certifications.Add(CertificationTypes.Organic) as Organic; organic.Farmer = new Questionaire(null); fairTrade.Name = "fairTrade"; section = fairTrade.Sections.Add(); organic.Name = "Section1"; SubSection sb1 = section.SubSections.Add(); sb1.Name = "SubSection1"; openQuestion = sb1.Questions.AddOpenQuestion(); openQuestion.QuestionText = "Where do you stay"; openQuestion.Name = "Residence"; openQuestion = section.Questions.AddOpenQuestion(); openQuestion.QuestionText = "Where do you stay"; openQuestion.Name = "Residence"; openQuestion = organic.Questions.AddOpenQuestion(); openQuestion.QuestionText = "Where do you stay"; openQuestion.Name = "Residence"; // UTZ utz = _configuration.Certifications.Add(CertificationTypes.UTZ) as UTZ; utz.Farmer = new Questionaire(null); utz.Name = "fairTrade"; section = utz.Sections.Add(); organic.Name = "Section1"; SubSection sb = section.SubSections.Add(); sb.Name = "SubSection1"; openQuestion = sb.Questions.AddOpenQuestion(); openQuestion.QuestionText = "Where do you stay"; openQuestion.Name = "Residence"; openQuestion = section.Questions.AddOpenQuestion(); openQuestion.QuestionText = "Where do you stay"; openQuestion.Name = "Residence"; openQuestion = utz.Questions.AddOpenQuestion(); openQuestion.QuestionText = "Where do you stay"; openQuestion.Name = "Residence"; //Trainings Training training = _configuration.Trainings.Add(); training.Name = "Training1"; training.StartDate = DateTime.Now; training.EndDate = DateTime.Now; //trainees var tra = training.Trainees.Add(); tra.Name = "Nana"; var topic = training.Topics.Add(); topic.Name = "Topic1"; var trainer = training.Trainers.Add(); trainer.Name = "Kato"; //Purchases Purchase purchase = _configuration.Purchases.Add(); purchase.DateOfPurchase = DateTime.Now; purchase.Quantity = 50; purchase.Prices = _configuration.EnumerationLists.ByName("Prices"); purchase.ProductPrice = purchase.Prices.EnumValues.ByDescription("Coffee"); purchase.Lotid = "Lot90343"; purchase.Products = _configuration.EnumerationLists.ByName("Products"); purchase.Product = purchase.Products.EnumValues.ByDescription("Coffee"); purchase.Farmer = new Questionaire(null); Questionaire questionaire = _configuration.Questionaires[0]; Section section_o = questionaire.Sections[0]; OpenQuestion question = section_o.Questions.AddOpenQuestion(); question.QuestionText = "What's your name"; question.Name = "Name"; Dependency dependency = question.Dependencies.Add(); dependency.Target = questionaire.Sections[1]; //inspection FieldInspection inspection = _configuration.Inspections.Add(); inspection.FieldName = "Kasese 1"; var fieldSection = inspection.Sections.Add(); fieldSection.Name = "Field Section"; var qn = fieldSection.Questions.Add(QuestionTypes.Open); qn.QuestionText = "Whats your name?"; inspection.Farmer = _configuration.Questionaires[0]; inspection.Coordinates.Add("Lat:78834;Long:459"); //adding clients _configuration.Client.Contact = "0775407583"; _configuration.Client.CreatedBy = "Admin"; _configuration.Client.Email = "*****@*****.**"; _configuration.Client.Name = "Kakembo"; User user = _configuration.Client.Users.Add(UserTypes.ClientUser); user.UserName = "******"; user.Password = "******"; user.Email = "*****@*****.**"; user.Firstname = "Nanana"; user.IsAdmin = true; user.Lastname = "Nanana"; user.Usercode = "N009"; }