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 try
{ {
var contacts = contactsRepo.RetrieveAll(); var contacts = contactsRepo.RetrieveAll();
var users = userRepo.RetrieveAllUsers();
if (contacts.Exists(c => c.PhoneNumber!.Equals(contact.PhoneNumber)) || if (users.Count() == 0)
string.IsNullOrEmpty(contact.UserID))
{
// The Contact already exists
return BadRequest(response);
}
var user = new User { Id = contact.UserID };
if (!userRepo.Exists(user).Item1)
{ {
return BadRequest(response); 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); contactsRepo.Create(contact);
response.Data.Add(contact); response.Data.Add(contact);
} }
+7
View File
@@ -2,6 +2,7 @@ using System;
using MongoDB.Bson; using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes; using MongoDB.Bson.Serialization.Attributes;
using Newtonsoft.Json;
namespace TextSender_API.Models; namespace TextSender_API.Models;
@@ -10,17 +11,23 @@ public class Contact
#region Properties #region Properties
[BsonId] [BsonId]
[BsonRepresentation(BsonType.ObjectId)] [BsonRepresentation(BsonType.ObjectId)]
[JsonProperty("id")]
public string? Id { get; set; } public string? Id { get; set; }
[BsonElement("firstname")] [BsonElement("firstname")]
[JsonProperty("firstname")]
public string? Firstname { get; set; } public string? Firstname { get; set; }
[BsonElement("lastname")] [BsonElement("lastname")]
[JsonProperty("lastname")]
public string? Lastname { get; set; } public string? Lastname { get; set; }
[BsonElement("phonenumber")] [BsonElement("phonenumber")]
[JsonProperty("phonenumber")]
public string? PhoneNumber { get; set; } public string? PhoneNumber { get; set; }
[BsonElement("date_created")] [BsonElement("date_created")]
[JsonProperty("date_created")]
public DateTime DateCreated { get; set; } public DateTime DateCreated { get; set; }
// [BsonRepresentation(BsonType.ObjectId)] // [BsonRepresentation(BsonType.ObjectId)]
[BsonElement("user_id")] [BsonElement("user_id")]
[JsonProperty("user_id")]
public string? UserID { get; set; } public string? UserID { get; set; }
#endregion #endregion
} }