Ejemplo n.º 1
0
        public static DBNote ToDBNote(this DTONote dto, DBUser user, bool encrypt = false)
        {
            // ServiceStack's .PopulateWith is for some reasons
            // ORDERS of magnitudes slower than manually copying
            // TODO evaluate PopulateWith performance / bottleneck
            // or other mappers like ValueInjecter

            var db = new DBNote();

            db.Guid  = dto.Guid;
            db.Title = dto.Title;
            db.Text  = dto.Text;
            db.Tags  = dto.Tags;

            // dates
            db.ChangeDate         = dto.ChangeDate;
            db.MetadataChangeDate = dto.MetadataChangeDate;
            db.CreateDate         = dto.CreateDate;

            db.OpenOnStartup = dto.OpenOnStartup;
            db.Pinned        = dto.Pinned;

            db.Username = user.Username;

            return(db);
        }
Ejemplo n.º 2
0
        public void StoreAndRetrieveNote()
        {
            var db_old = GetDBSampleNote();

            db_old.Username = "******";

            using (var conn = dbFactory.OpenDbConnection()) {
                conn.Insert(db_old);
            }
            DTONote dto_new = null;
            DBNote  db_new;

            using (var conn = dbFactory.OpenDbConnection()) {
                db_new = conn.Single <DBNote> ("Username = {0}", "test");
            }

            dto_new.PopulateWith(db_new);

            // check for equalness
            Assert.AreEqual(db_old.Title, db_new.Title);
            Assert.AreEqual(db_old.Text, db_new.Text);
            Assert.AreEqual(db_old.Tags, db_new.Tags);

            Assert.AreEqual(db_old.ChangeDate, db_new.ChangeDate);
        }
Ejemplo n.º 3
0
        public void RetrieveAnArchivedVersionOfANote()
        {
            FirstSyncForBothSides();

            Tomboy.Note first_note     = clientEngineOne.GetNotes().Values.First();
            DTONote     first_note_dto = first_note.ToDTONote();

            var new_title = "Some other title";
            var old_title = first_note_dto.Title;
            var new_text  = "Some new text";
            var old_text  = first_note_dto.Text;

            first_note.Title = new_title;
            first_note.Text  = new_text;

            clientEngineOne.SaveNote(first_note);

            var sync_manager = new SyncManager(syncClientOne, syncServer);

            sync_manager.DoSync();

            var client = testServer.GetJsonClient();
            var url    = GetNoteHistoryUrl(first_note.Guid);
            var resp   = client.Get <NoteHistoryResponse> (url);

            var rev = resp.Versions[0].Revision;

            url = GetArchivedNoteUrl(first_note.Guid, rev);
            var note = client.Get <DTONote> (url);

            Assert.AreEqual(old_text, note.Text);
            Assert.AreEqual(old_title, note.Title);
            Assert.AreEqual(first_note_dto.Tags, note.Tags);
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> Create(NoteView model)
        {
            DTONote note = new DTONote {
                AddedDate = model.AddedDate, NoteText = model.NoteText
            };
            var dtoNote = await db.AddNote(note);

            await hub.Clients.All.SendAsync("Send", dtoNote);

            return(RedirectToAction("ClientOne"));
        }
Ejemplo n.º 5
0
        public void ConvertFromDTOWithTags()
        {
            var dto_note = new DTONote();

            dto_note.Tags = new string[] { "school", "shopping", "fun" };

            var tomboy_note = dto_note.ToTomboyNote();

            foreach (string tag in dto_note.Tags)
            {
                Assert.Contains(tag, tomboy_note.Tags.Keys);
            }
        }
Ejemplo n.º 6
0
        public async Task <DTONote> AddNote(DTONote model)
        {
            model.AddedDate = DateTime.Now;
            Note noteModel = new Note {
                AddedDate = model.AddedDate, NoteText = model.NoteText
            };

            Note note = await db.Notes.Create(noteModel);

            return(new DTONote {
                Id = note.Id, NoteText = note.NoteText, AddedDate = note.AddedDate
            });
        }
Ejemplo n.º 7
0
        public async Task <IActionResult> PostNote([FromBody] DTONote dtoNote)
        {
            //return BadRequest(ModelState);
            Console.WriteLine("DebugHere");
            Note note = dtoNote.Note;

            ProductNoteDetail[] productDetail = dtoNote.ProductNoteDetail;

            Console.WriteLine(note.Observation);
            // Console.WriteLine(productDetail[0].ReceivedBy);
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }


            productDetail.ToList().ForEach(
                e =>
            {
                Product product = _context.Products.Find(e.ProductId);

                if (note.NoteType.Equals("entry"))
                {
                    product.Quantity = product.Quantity + e.Quantity;
                }
                else
                {
                    product.Quantity = product.Quantity - e.Quantity;
                }
            }
                );

            _context.Note.Add(note);
            await _context.SaveChangesAsync();

            productDetail.ToList().ForEach(e =>
            {
                e.NoteId = note.NoteId;
                _context.ProductNoteDetail.Add(e);
            });
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetNote", new { id = note.NoteId }, note));
        }
Ejemplo n.º 8
0
        public static DTONote ToDTONote(this DBNote db)
        {
            var dto = new DTONote ();

            dto.Guid = db.Guid;
            dto.Title = db.Title;
            dto.Text = db.Text;
            dto.Tags = db.Tags;

            // dates
            dto.ChangeDate = db.ChangeDate;
            dto.MetadataChangeDate = db.MetadataChangeDate;
            dto.CreateDate = db.CreateDate;

            dto.OpenOnStartup = db.OpenOnStartup;
            dto.Pinned = db.Pinned;

            return dto;
        }
Ejemplo n.º 9
0
        public static bool enoughStock(DTONote dtoNote, SMarketContext _context)
        {
            string NOTETYPE_ENTRY   = "entry";
            string NOTETYPE_REMOVAL = "removal";
            Note   note             = dtoNote.Note;

            ProductNoteDetail[] productDetail = dtoNote.ProductNoteDetail;

            if (note.NoteType.Equals(NOTETYPE_ENTRY))
            {
                foreach (ProductNoteDetail e in productDetail)
                {
                    Product product = _context.Products.Find(e.ProductId);
                    //if (e.Quantity > product.Quantity)
                    product.Quantity = product.Quantity + e.Quantity;
                }
            }
            else
            {
                foreach (ProductNoteDetail e in productDetail)
                {
                    Product product = _context.Products.Find(e.ProductId);
                    //if (e.Quantity > product.Quantity)
                    product.Quantity = product.Quantity - e.Quantity;
                }
            }



            productDetail.ToList().ForEach(
                e =>
            {
                Product product = _context.Products.Find(e.ProductId);

                if (e.Quantity > product.Quantity)
                {
                    product.Quantity = product.Quantity - e.Quantity;
                }
                //else
            }
                );
            return(true);
        }
Ejemplo n.º 10
0
        public static DTONote ToDTONote(this DBNote db)
        {
            var dto = new DTONote();

            dto.Guid  = db.Guid;
            dto.Title = db.Title;
            dto.Text  = db.Text;
            dto.Tags  = db.Tags;

            // dates
            dto.ChangeDate         = db.ChangeDate;
            dto.MetadataChangeDate = db.MetadataChangeDate;
            dto.CreateDate         = db.CreateDate;

            dto.OpenOnStartup = db.OpenOnStartup;
            dto.Pinned        = db.Pinned;

            return(dto);
        }
Ejemplo n.º 11
0
        public void ConvertFromDTONoteToTomboyNote()
        {
            var dto_note = new DTONote();

            dto_note.Title = "This is a sample note";
            dto_note.Text  = "This is some sample text";

            dto_note.ChangeDate         = DateTime.Now.ToString(Tomboy.Writer.DATE_TIME_FORMAT);
            dto_note.MetadataChangeDate = DateTime.Now.ToString(Tomboy.Writer.DATE_TIME_FORMAT);
            dto_note.CreateDate         = DateTime.Now.ToString(Tomboy.Writer.DATE_TIME_FORMAT);

            var tomboy_note = dto_note.ToTomboyNote();

            Assert.AreEqual(tomboy_note.Title, dto_note.Title);
            Assert.AreEqual(tomboy_note.Text, dto_note.Text);

            Assert.AreEqual(tomboy_note.ChangeDate, DateTime.Parse(dto_note.ChangeDate).ToUniversalTime());
            Assert.AreEqual(tomboy_note.CreateDate, DateTime.Parse(dto_note.CreateDate).ToUniversalTime());
            Assert.AreEqual(tomboy_note.MetadataChangeDate, DateTime.Parse(dto_note.MetadataChangeDate).ToUniversalTime());

            var tag_intersection = dto_note.Tags.Intersect(tomboy_note.Tags.Keys);

            Assert.AreEqual(dto_note.Tags.Count(), tag_intersection.Count());
        }