public async Task <JsonResult> ELGetAll()
 {
     try {
         var data = EmailListService.GetAll();
         return(Success(EmailListVM.MsToVMs(data)));
     } catch { return(Failed(MessageUtilityService.ServerError())); }
 }
 public async Task <JsonResult> ELIsEmailExist()
 {
     try {
         //checks if email exist in the database else create one
         var name  = Request.Form["name"];
         var email = Request.Form["email"];
         var aid   = Guid.Parse(Request.Form["aid"]);
         var cnum  = Request.Form["cnum"];
         var data  = EmailListService.GetByEAdd(email);
         var tz    = Request.Form["tz"];
         if (data != null)
         {
             if (InsertNewEmailList(Guid.NewGuid(), name, email, aid, cnum))
             {
                 return(Success(true));
             }
             return(Failed(MessageUtilityService.ServerError()));
         }
         else
         {
             //update time updated data
             DateTimeStorageService.Update(data.DateTimeID, data.ID, DateTimeStorageService.GetByTZ(tz));
             EmailListService.Update(data.ID, name, data.Email, data.DateTimeID, cnum);
         }
         //email is already registered in the database
         return(Success(false));
     } catch { return(Failed(MessageUtilityService.ServerError())); }
 }
 public async Task <JsonResult> ELGet(string id)
 {
     try {
         var data = EmailListService.GetByID(Guid.Parse(Request.Form["id"]));
         return(Success(EmailListVM.MToVM(data)));
     } catch { return(Failed(MessageUtilityService.ServerError())); }
 }
 private bool InsertNewEmailList(Guid id, string name, string email, Guid aid, string cnum)
 {
     try {
         var dtid = Guid.NewGuid();
         var time = DateTime.Now;
         DateTimeStorageService.Insert(dtid, id, aid, time, time, Guid.Parse("931b5cca-e652-49cf-bc6c-ed96cf053604"));
         EmailListService.Insert(id, name, email, dtid, cnum);
         return(true);
     } catch { return(false); }
 }
 public async Task <JsonResult> ELRemove()
 {
     try {
         var id = Guid.Parse(Request.Form["id"]);
         if (EmailListService.Remove(id))
         {
             return(Success(id.ToString()));
         }
         return(Failed(MessageUtilityService.FailedRemove("Email")));
     } catch { return(Failed(MessageUtilityService.ServerError())); }
 }
 public async Task <JsonResult> ELUpdate()
 {
     try {
         var id    = Guid.Parse(Request.Form["id"]);
         var name  = Request.Form["name"];
         var email = Request.Form["email"];
         var dtid  = Guid.Parse(Request.Form["dtid"]);
         var cnum  = Request.Form["cnum"];
         if (EmailListService.Update(id, name, email, dtid, cnum))
         {
             return(Success(id.ToString()));
         }
         return(Failed(MessageUtilityService.FailedUpdate("Email")));
     } catch { return(Failed(MessageUtilityService.ServerError())); }
 }
        public async Task ListEmailsShouldNotListAnyEmails()
        {
            var options = new DbContextOptionsBuilder <TBIContext>().UseInMemoryDatabase(Guid.NewGuid().ToString()).Options;

            var encrypter = new Mock <IEncrypter>();

            encrypter.Setup(e => e.Encrypt("*****@*****.**")).Returns("harambe");

            var db = new TBIContext(options);

            var service = new EmailListService(db, encrypter.Object);

            await this.SeedWithEmails(10, db);

            var emails = await service.ListEmails(0, 3);

            Assert.AreEqual(emails.Count, 0);
        }
        public async Task Add_Newly_ReceivedMessage_Should_Add_Message_To_The_Database()
        {
            var options = new DbContextOptionsBuilder <TBIContext>().UseInMemoryDatabase(Guid.NewGuid().ToString()).Options;

            var encrypter = new Mock <IEncrypter>();

            encrypter.Setup(e => e.Encrypt("*****@*****.**")).Returns("harambe");

            var db = new TBIContext(options);

            var service = new EmailListService(db, encrypter.Object);

            await service.AddNewlyReceivedMessage("123", "*****@*****.**", "*****@*****.**", new List <int> {
                1, 2
            });

            Assert.AreEqual(await db.Applications.CountAsync(), 1);
        }