Пример #1
0
        public async Task <string> AddRelationship(MissingContact missing)
        {
            HttpClientWrapper httpClient = new HttpClientWrapper();
            HttpContent       content    = await httpClient.PostRelToApi(missing);

            string contactParsed = await content.ReadAsStringAsync();

            return(contactParsed);
        }
Пример #2
0
        public async Task <ActionResult> AddMissingPerson(MissingPerson missingPersons)
        {
            HttpClientWrapper httpClient = new HttpClientWrapper();

            if (await new FaceApiCalls(httpClient).AddFaceToFaceset(missingPersons.faceToken) == null)
            {
                //TODO: have some proper things to do here.
                throw new SystemException("ding dong");
            }
            byte[] byteArray = Convert.FromBase64String(missingPersons.faceImg);
            using (var ms = new MemoryStream(byteArray, 0, byteArray.Length))
            {
                Bitmap image  = (Bitmap)Bitmap.FromStream(ms);
                string imgLoc = await httpClient.PostImageToApiString(image);

                missingPersons.faceImg = imgLoc;
                HttpContent content = await httpClient.PostMissingPersonToApiAsync(missingPersons);

                var name = User.Identity.Name;
                ApplicationDbContext db = new ApplicationDbContext();
                ApplicationUser      applicationUser = db.Users.FirstOrDefault(x => x.UserName == name);

                string contactPerson = await httpClient.Get("http://viltomas.eu/api/ContactPersons/" + applicationUser.idas);

                string missingParsed = await content.ReadAsStringAsync();

                ContactPerson  contactP = JsonConvert.DeserializeObject <ContactPerson>(contactPerson);
                MissingPerson  missingP = JsonConvert.DeserializeObject <MissingPerson>(missingParsed);
                MissingContact mc       = new MissingContact
                {
                    contactPerson = contactP,
                    missingPerson = missingP
                };
                var contentResponse = await httpClient.PostRelToApi(mc);

                var contentString = await content.ReadAsStringAsync();

                return(View("View"));
            }
        }
        public IHttpActionResult CreateRel(MissingContact missingContact)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            try
            {
                db.ContactPersons.Attach(missingContact.contactPerson);
                db.MissingPersons.Attach(missingContact.missingPerson);
                missingContact.contactPerson.MissingPersons.Add(missingContact.missingPerson);
                missingContact.missingPerson.ContactPersons.Add(missingContact.contactPerson);
                db.SaveChanges();

                return(Ok());
            }
            catch (System.Exception e)
            {
                Trace.WriteLine(e);
                return(InternalServerError());
            }
        }
        public string CreateRel(MissingContact missingContact)
        {
            if (!ModelState.IsValid)
            {
                return("bolgas modelis");
            }
            try
            {
                db.Configuration.ProxyCreationEnabled = false;
                db.ContactPersons.Attach(missingContact.contactPerson);
                db.MissingPersons.Attach(missingContact.missingPerson);
                missingContact.contactPerson.MissingPersons.Add(missingContact.missingPerson);
                missingContact.missingPerson.ContactPersons.Add(missingContact.contactPerson);
                db.SaveChanges();

                return("ok");
            }
            catch (System.Exception e)
            {
                Trace.WriteLine(e);
                return(e.ToString());
            }
        }
Пример #5
0
        /// <summary>
        /// Gets information about the missing person
        /// Author: Tomas Drasutis
        /// </summary>
        private async void addMissingPersonButton_Click(object sender, EventArgs e)
        {
            try
            {
                // Verify that properties are valid
                if (!Regex.IsMatch(firstNameBox.Text, nameRegex) || firstNameBox.Text.Equals(""))
                {
                    MessageBox.Show(Messages.incorrectMissingFirstNamePattern);
                    return;
                }

                if (!Regex.IsMatch(lastNameBox.Text, nameRegex) || lastNameBox.Text.Equals(""))
                {
                    MessageBox.Show(Messages.incorrectLastNamePattern);
                    return;
                }

                if (!Regex.IsMatch(contactFirstNameBox.Text, nameRegex) || contactFirstNameBox.Text.Equals(""))
                {
                    MessageBox.Show(Messages.incorrectContactFirstNamePattern);
                    return;
                }

                if (!Regex.IsMatch(contactLastNameBox.Text, nameRegex) || contactLastNameBox.Text.Equals(""))
                {
                    MessageBox.Show(Messages.incorrectContactLastNamePattern);
                    return;
                }

                if (!Regex.IsMatch(contactPhoneNumberBox.Text, phoneRegex) || contactPhoneNumberBox.Text.Equals(""))
                {
                    MessageBox.Show(Messages.incorrectPhoneNumberPattern);
                    return;
                }

                if (!Regex.IsMatch(contactEmailAddressBox.Text, emailRegex) || contactEmailAddressBox.Text.Equals(""))
                {
                    MessageBox.Show(Messages.incorrectEmailPattern);
                    return;
                }

                //this might be needed for a picture upload in the future.
                Bitmap missingPersonImage = new Bitmap(missingPersonPictureBox.Image);

                if (validImage)
                {
                    if (await new FaceApiCalls(new HttpClientWrapper()).AddFaceToFaceset(faceToken) == null)
                    {
                        //TODO: have some proper things to do here.
                        throw new SystemException(Messages.invalidApiResponse);
                    }
                    HttpContent content = await httpClient.PostImageToApi(missingPersonImage);

                    string response = await content.ReadAsStringAsync();

                    //post image to api
                    Console.WriteLine("posting image to api" + response);

                    //initialize contact person
                    ContactPerson contact = InitializeContactPerson();

                    //initialize missing person
                    MissingPerson missing = InitializeMissingPerson(response);

                    content = await httpClient.PostContactPersonToApiAsync(contact);

                    string contact1 = await content.ReadAsStringAsync();

                    Console.WriteLine("contact" + contact1);
                    content = await httpClient.PostMissingPersonToApiAsync(missing);

                    string missing1 = await content.ReadAsStringAsync();

                    Console.WriteLine("missing" + missing1);
                    MissingPerson  parsedMiss = JsonConvert.DeserializeObject <MissingPerson>(missing1);
                    ContactPerson  parsedCont = JsonConvert.DeserializeObject <ContactPerson>(contact1);
                    MissingContact misscont   = new MissingContact();
                    misscont.contactPerson = parsedCont;
                    misscont.missingPerson = parsedMiss;
                    //create a relationship between persons
                    Console.WriteLine(await httpClient.PostRelToApi(misscont));
                }
                else
                {
                    MessageBox.Show(Messages.invalidImage);
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
                MessageBox.Show(Messages.errorWhileSavingPerson);
            }
        }