Exemple #1
0
        public override void OnAuthorization(HttpActionContext actionContext)
        {
            try
            {
                var BasicToken = actionContext.Request.Headers.Where(d => d.Key == "Authorization").FirstOrDefault().Value.FirstOrDefault();
                if (BasicToken == null)
                {
                    actionContext.Response = actionContext.Request.CreateResponse(System.Net.HttpStatusCode.Unauthorized);
                }

                string xx = CryptographyService.DecryptValue(BasicToken);
                using (var context = new TodoAppContext())
                {
                    string[] credential = xx.Split(new char[] { ':' }, StringSplitOptions.None);
                    string   username   = credential[0].ToString();
                    string   password   = credential[1].ToString();
                    var      user       = context.users.Where(u => u.username == username && u.password == password).FirstOrDefault();
                    if (user == null)
                    {
                        actionContext.Request.CreateResponse(System.Net.HttpStatusCode.Unauthorized);
                    }
                }
            }
            catch (Exception e)
            {
                actionContext.Response = actionContext.Request.CreateResponse(System.Net.HttpStatusCode.Unauthorized);
            }
        }
Exemple #2
0
 public AddTodoCommand(
     TodoAppContext context,
     CreateTodoValidator validator)
 {
     _context   = context;
     _validator = validator;
 }
Exemple #3
0
 public HttpResponseMessage SignUp([FromBody] SignUpDTO newUser)
 {
     try
     {
         using (var context = new TodoAppContext())
         {
             using (MD5 md5Hash = MD5.Create())
             {
                 var c = new Users()
                 {
                     name     = newUser.name,
                     lastName = newUser.lastName,
                     password = GetMd5Hash(md5Hash, newUser.password),
                     username = newUser.username,
                     email    = newUser.email
                 };
                 context.users.Add(c);
                 context.SaveChanges();
                 return(Request.CreateResponse(HttpStatusCode.OK));
             }
         };
     }
     catch (Exception e)
     {
         return(Request.CreateResponse(HttpStatusCode.BadRequest, e));
     }
 }
Exemple #4
0
        public HttpResponseMessage CreateTag(string newTagName)
        {
            try
            {
                using (var context = new TodoAppContext())
                {
                    var user = AuthService.getCurrUserInfo(HttpContext.Current.Request.Headers);
                    if (user == null)
                    {
                        return(Request.CreateResponse(HttpStatusCode.Unauthorized));
                    }

                    var c = new Tags()
                    {
                        Name      = newTagName,
                        createdBy = user.userID
                    };
                    context.tags.Add(c);
                    context.SaveChanges();
                    return(Request.CreateResponse(HttpStatusCode.OK));
                }
            }
            catch (Exception e)
            {
                return(Request.CreateResponse(HttpStatusCode.BadGateway, e));
            }
        }
Exemple #5
0
 public HttpResponseMessage DeleteTag(int id)
 {
     try
     {
         using (var context = new TodoAppContext())
         {
             var user = AuthService.getCurrUserInfo(HttpContext.Current.Request.Headers);
             if (user == null)
             {
                 return(Request.CreateResponse(HttpStatusCode.Unauthorized));
             }
             var c = context.tags.Where(t => t.tagID == id && t.createdBy == user.userID).FirstOrDefault();
             if (c == null)
             {
                 return(Request.CreateResponse(HttpStatusCode.NotFound));
             }
             context.tags.Remove(c);
             context.SaveChanges();
             return(Request.CreateResponse(HttpStatusCode.OK));
         }
     }
     catch (Exception e)
     {
         return(Request.CreateResponse(HttpStatusCode.BadGateway, e));
     }
 }
Exemple #6
0
 public UpdateTodoCommand(
     TodoAppContext context,
     UpdateTodoValidator validator)
 {
     _context   = context;
     _validator = validator;
 }
 public CreateTodoValidator(TodoAppContext context)
 {
     RuleFor(x => x.Name)
     .NotEmpty()
     .Must(name => !context.Todos.Any(t => t.Name == name))
     .WithMessage("Todo must be unique!");
 }
Exemple #8
0
 public UpdateTodoValidator(TodoAppContext context)
 {
     RuleFor(x => x.Name)
     .NotEmpty()
     .Must((dto, name) => !context.Todos.Any(t => t.Name == name && t.Id != dto.Id))
     .WithMessage("Todo name must be unique!");
 }
Exemple #9
0
        private TodoItemsService GetService(string fakeDatabaseName)
        {
            var options = new DbContextOptionsBuilder <TodoAppContext>()
                          .UseInMemoryDatabase(databaseName: fakeDatabaseName)
                          .Options;
            //EF Core uses a simplier approach to an in-memmory database
            var context = new TodoAppContext(options);
            TodoItemsService itemsService = new TodoItemsService(context);

            return(itemsService);
        }
Exemple #10
0
        public ValuesController(TodoAppContext context)
        {
            _context = context;

            if (_context.TodoNotes.Count() == 0)
            {
                _context.TodoNotes.Add(new TodoNote {
                    Name = "Initial"
                });
                _context.SaveChanges();
            }
        }
Exemple #11
0
 public HttpResponseMessage getAllTags()
 {
     try
     {
         using (var context = new TodoAppContext())
         {
             var user   = AuthService.getCurrUserInfo(HttpContext.Current.Request.Headers);
             var result = context.tags.Where(n => n.createdBy == user.userID).ToList();
             return(Request.CreateResponse(HttpStatusCode.OK, result));
         }
     }
     catch (Exception e)
     {
         return(Request.CreateResponse(HttpStatusCode.BadGateway, e));
     }
 }
Exemple #12
0
 public HttpResponseMessage getNoteByID(int id)
 {
     try
     {
         using (var context = new TodoAppContext())
         {
             var user   = AuthService.getCurrUserInfo(HttpContext.Current.Request.Headers);
             var result = context.notes.Where(n => n.createdBy == user.userID && n.noteID == id).FirstOrDefault();
             return(Request.CreateResponse(HttpStatusCode.OK, result));
         }
     }
     catch (Exception e)
     {
         return(Request.CreateResponse(HttpStatusCode.BadGateway, e));
     }
 }
        public static void Seed(this TodoAppContext dbContext)
        {
            dbContext.Todoes.Add(new Todoes
            {
                TodoId      = 1,
                Descripcion = "Test 1",
                Estatus     = "PENDIENTE",
                Documento   = "C:/prueba.jpg"
            });
            dbContext.Todoes.Add(new Todoes
            {
                TodoId      = 2,
                Descripcion = "Test 2",
                Estatus     = "PENDIENTE",
                Documento   = "C:/prueba.jpg"
            });

            dbContext.SaveChanges();
        }
Exemple #14
0
        public object SignIn([FromBody] SignInDTO requestUser)
        {
            try
            {
                using (var context = new TodoAppContext())
                {
                    using (MD5 md5Hash = MD5.Create())
                    {
                        var user = context.users.Where(u => (u.email == requestUser.credential || u.username == requestUser.credential)).FirstOrDefault();

                        if (user == null)
                        {
                            return(NotFound());
                        }

                        string currPassword = GetMd5Hash(md5Hash, requestUser.password);

                        if (!VerifyMd5Hash(md5Hash, requestUser.password, user.password))
                        {
                            return(Request.CreateResponse(HttpStatusCode.NotFound));
                        }
                        var BASIC = CryptographyService.EncryptValue($"{user.username}:{user.password}");

                        var result = new
                        {
                            username = user.username,
                            name     = user.name,
                            lastName = user.lastName,
                            email    = user.email,
                            basicTkn = BASIC
                        };
                        //HttpContext.Current.Response.AppendHeader("Basic", BASIC);
                        //Request.Headers.Add("Basic", Convert.ToBase64String(Encoding.ASCII.GetBytes($"{user.username}:{user.password}")));
                        return(Request.CreateResponse(HttpStatusCode.OK, result));
                    }
                };
            }
            catch (Exception e)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, e));
            }
        }
Exemple #15
0
        public HttpResponseMessage createNewNote(newNoteDTO newNote)
        {
            try
            {
                using (var context = new TodoAppContext())
                {
                    var user = AuthService.getCurrUserInfo(HttpContext.Current.Request.Headers);
                    if (user == null)
                    {
                        return(Request.CreateResponse(HttpStatusCode.Unauthorized));
                    }

                    var c = new Notes()
                    {
                        title        = newNote.title,
                        creationDate = DateTime.UtcNow,
                        description  = newNote.description,
                        dueDate      = DateTime.Parse(newNote.dueDate),
                        noteStatus   = Status.TODO,
                        noteType     = (Models.Type)newNote.type,
                        colorHex     = newNote.color,
                        remindMe     = (Models.remindMeType)newNote.remindMe,
                        createdBy    = user.userID
                    };
                    if (newNote.tagId != 0)
                    {
                        c.tagID   = newNote.tagId;
                        c.tagName = context.tags.Where(t => t.tagID == newNote.tagId).Select(d => d.Name).FirstOrDefault();
                    }

                    context.notes.Add(c);
                    context.SaveChanges();
                    return(Request.CreateResponse(HttpStatusCode.OK, c));
                }
            }
            catch (Exception e)
            {
                return(Request.CreateResponse(HttpStatusCode.BadGateway, e));
            }
        }
Exemple #16
0
        public HttpResponseMessage UpdateNote(UpdateNoteDTO note)
        {
            try
            {
                using (var context = new TodoAppContext())
                {
                    var user = AuthService.getCurrUserInfo(HttpContext.Current.Request.Headers);
                    if (user == null)
                    {
                        return(Request.CreateResponse(HttpStatusCode.Unauthorized));
                    }

                    var c = context.notes.Where(n => n.noteID == note.noteID && n.createdBy == user.userID).FirstOrDefault();
                    if (c == null)
                    {
                        NotFound();
                    }
                    c.title       = note.title;
                    c.description = note.description;
                    c.dueDate     = DateTime.Parse(note.dueDate);
                    c.noteStatus  = Status.TODO;
                    c.noteType    = (Models.Type)note.type;
                    c.colorHex    = note.colorHex;
                    c.remindMe    = (Models.remindMeType)note.remindMe;
                    if (note.tagId != 0)
                    {
                        c.tagID   = note.tagId;
                        c.tagName = context.tags.Where(t => t.tagID == note.tagId).Select(d => d.Name).FirstOrDefault();
                    }
                    context.SaveChanges();
                    var result = context.notes.Where(n => n.createdBy == user.userID).ToList();
                    return(Request.CreateResponse(HttpStatusCode.OK, result));
                }
            }
            catch (Exception e)
            {
                return(Request.CreateResponse(HttpStatusCode.BadGateway, e));
            }
        }
Exemple #17
0
 //constructor
 public BaseRepository(TodoAppContext entities)
 {
     DataContext = entities;
 }
Exemple #18
0
 public BoardRepository(TodoAppContext db)
 {
     _db = db;
 }
Exemple #19
0
 public TodoController(TodoAppContext db)
 {
     this.db = db;
 }
Exemple #20
0
 public RecordRepository(TodoAppContext db)
 {
     _db = db;
 }
 public UserRepository(TodoAppContext context) => _context = context;
 public TasksController(TodoAppContext context)
 {
     _context = context;
 }
Exemple #23
0
 public GetTodosQuery(TodoAppContext context)
 {
     _context = context;
 }
 public TodoItemProvider(TodoAppContext context)
 {
     _context = context;
 }
Exemple #25
0
 public ToDoRepository(TodoAppContext dbContext)
 {
     _dbContext = dbContext;
 }
 public PersonsController(TodoAppContext context)
 {
     _context = context;
 }
 public ItemTagProvider(TodoAppContext context)
 {
     _context = context;
 }
 public TodoController(TodoAppContext context)
 => Context = context;
Exemple #29
0
 public GetSingleTodoQuery(TodoAppContext context)
 {
     _context = context;
 }
 public CategoryProvider(TodoAppContext context)
 {
     _context = context;
 }