public static Nota ConvertToNota(CreateNotaDTO dto, ApplicationUser user)
        {
            AES_Result res = CryptoService.AES_Encrypt(dto.NoteContent);

            return(new Nota()
            {
                LUDT = DateTime.Now,
                CDT = DateTime.Now,
                NoteContent = res.CipherData,
                Nonce = res.Nonce,
                Anchor = dto.Anchor,
                User = user
            });
        }
Exemple #2
0
        public async Task <ActionResult> Create(CreateNotaDTO dto)
        {
            var tuple = await Task.Run(() => _notasService.Create(dto, GetCurrentUser()));

            if (tuple.Item1 == PersistedState.OK && ExistsKey(Resources.MisNotas))
            {
                NotasCache cached = GetSessionItem <NotasCache>(Resources.MisNotas);
                if (dto.Anchor)
                {
                    cached.anchored.Add(tuple.Item2);
                    cached.anchored = cached.anchored.OrderByDescending(nota => nota.CDT).ToList();
                }
                else
                {
                    cached.notAnchored.Add(tuple.Item2);
                    cached.notAnchored = cached.notAnchored.OrderByDescending(nota => nota.CDT).ToList();
                }
                RemoveFromSession(Resources.MisNotas);//Como aprovecho parte de la key para saber el nonce del AES y este nonce se genera automáticamente y siempre es distinto, no me lo va a sobreescribir en caché, me va a crear un NotasCache cada vez!!!
                SetSessionItem(Resources.MisNotas, cached);
            }
            return(SimpleJSONFeedback(tuple.Item1));
        }
        public Tuple <PersistedState, NotaDTO> Create(CreateNotaDTO dto, ApplicationUser user)
        {
            Nota nota = Mappings.ConvertToNota(dto, user);

            return(Tuple.Create(_notasRepo.CreateNote(nota), Mappings.ConvertFromNota(nota)));
        }