Example #1
0
        public IHttpActionResult PutPerson(int id, Person person)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            if (id != person.ID)
            {
                return BadRequest();
            }

            db.Entry(person).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!PersonExists(id))
                {
                    return NotFound();
                }
                else
                {
                    throw;
                }
            }

            return StatusCode(HttpStatusCode.NoContent);
        }
Example #2
0
        public IHttpActionResult PostPerson(Person person)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            db.Persons.Add(person);
            db.SaveChanges();

            return CreatedAtRoute("DefaultApi", new { id = person.ID }, person);
        }
Example #3
0
        public IHttpActionResult PostPerson(ApiModels.Person person,string apikey,string devicetoken)
        {


            var a = _context.Devices.SingleOrDefault(x => x.ApiKey == apikey);

            if (a == null)
                return Ok(HelperStrings.WrongApiKeyForDevice);
            var errors = new List<ErrorContainer>();
            person.Email = person.Email.Trim();
            if (!RegexUtilities.IsValidEmail(person.Email))
            {
                errors.Add(new ErrorContainer { Property = "Email", Errormessage = "Not a valid emailaddress." });

            }
            if (string.IsNullOrEmpty(person.Name))
            {
                errors.Add(new ErrorContainer { Property = "Name", Errormessage = "Name canĀ“t be empty." });
            }
            if (errors.Any())
            {
                person.Errors = errors;
                return Ok(person);
            }

            if (_context.Persons.Any(x => x.Email == person.Email))
                errors.Add(new ErrorContainer { Property = "Email", Errormessage = "The emailaddress is already used, try forgotten my password." });
            person.Errors = errors;

            if (!person.Errors.Any())
            {

                var p = new DBModel.Person
                {

                    Name = person.Name,
                    Email = person.Email,
                    EmailNotifications = (byte)Enums.EmailNotifications.Everything,
                    LastLogin = DateTime.Now,
                    ExternalID = Guid.NewGuid(),
                    Password = person.Password,
                    Status = 0,
                    Options = (byte)Enums.Options.ShowFriends


                };

                p.Devices.Add(new DevicePersons { Person = p, Device = a, DeviceToken = person.DeviceToken });
                //var mailSender = new MailSender();
                //p = mailSender.Send(p, Enums.MailType.AccountActivated, null);
                _context.Persons.Add(p);
                try
                {
                    _context.SaveChanges();
                }
                catch (Exception ex)
                {
                    person.Errors = new List<ErrorContainer> { new ErrorContainer { Errormessage = ex.Message } };
                }

                person.Id = p.ExternalID;

            }

            

            return CreatedAtRoute("DefaultApi", new { id = person.Id }, person);
        }