Added endpoint to create new Contact

This commit is contained in:
kdeng00
2023-10-16 21:02:04 -04:00
parent 47d9f75619
commit 9bf7709b9b
2 changed files with 25 additions and 10 deletions
+18 -10
View File
@@ -39,21 +39,29 @@ public class ContactsController : ControllerBase
try
{
var contacts = contactsRepo.RetrieveAll();
var users = userRepo.RetrieveAllUsers();
if (contacts.Exists(c => c.PhoneNumber!.Equals(contact.PhoneNumber)) ||
string.IsNullOrEmpty(contact.UserID))
{
// The Contact already exists
return BadRequest(response);
}
var user = new User { Id = contact.UserID };
if (!userRepo.Exists(user).Item1)
if (users.Count() == 0)
{
return BadRequest(response);
}
if (contacts.Count() > 0)
{
if (contacts.Exists(c => c.PhoneNumber!.Equals(contact.PhoneNumber)) ||
string.IsNullOrEmpty(contact.UserID))
{
// The Contact already exists
return BadRequest(response);
}
}
if (!userRepo.Exists(contact.UserID!).Item1)
{
return BadRequest(response);
}
contact.DateCreated = DateTime.Now;
contactsRepo.Create(contact);
response.Data.Add(contact);
}
+7
View File
@@ -2,6 +2,7 @@ using System;
using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes;
using Newtonsoft.Json;
namespace TextSender_API.Models;
@@ -10,17 +11,23 @@ public class Contact
#region Properties
[BsonId]
[BsonRepresentation(BsonType.ObjectId)]
[JsonProperty("id")]
public string? Id { get; set; }
[BsonElement("firstname")]
[JsonProperty("firstname")]
public string? Firstname { get; set; }
[BsonElement("lastname")]
[JsonProperty("lastname")]
public string? Lastname { get; set; }
[BsonElement("phonenumber")]
[JsonProperty("phonenumber")]
public string? PhoneNumber { get; set; }
[BsonElement("date_created")]
[JsonProperty("date_created")]
public DateTime DateCreated { get; set; }
// [BsonRepresentation(BsonType.ObjectId)]
[BsonElement("user_id")]
[JsonProperty("user_id")]
public string? UserID { get; set; }
#endregion
}