Added endpoint to create new Contact
This commit is contained in:
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user