コード例 #1
0
        public void Create(EventCreatingModel creatingModel)
        {
            ITagsRepository tagsRepository = new TagsRepository(_databaseContext);

            var @event = Event.Create(creatingModel, null);

            List<EventTag> eventTags = new List<EventTag>();

            foreach (var tag in creatingModel.Tags)
            {
                eventTags.Add(new EventTag(@event.Id,@event,tag.Label,tagsRepository.GetById(tag.Label)));
            }
      
            @event.Update(@event.Name,@event.Description,@event.DateAndTime,@event.Location,@event.Image,eventTags);
            AddEvent(@event, creatingModel.Tags);
            _databaseContext.SaveChanges();
            GetById(@event.Id);
        }
コード例 #2
0
        private void AddEvent(Event _event, List<TagCreatingModel> tags)
        {
            _databaseContext.Database.OpenConnection();

            ITagsRepository tagsRepository = new TagsRepository(_databaseContext);

            try
            {
                foreach (var tag in tags)
                {
                    if (tagsRepository.GetById(tag.Label) != null)
                    {
                        var sql = String.Format(
                            "INSERT INTO dbo.Events VALUES('{0}','{1}','{2}',CONVERT(varbinary,'{3}'),'{4}','{5}')",
                            _event.Id, _event.DateAndTime, _event.Description, _event.Image, _event.Location,
                            _event.Name);
                        _databaseContext.Database.ExecuteSqlCommand(sql);

                        sql = String.Format("INSERT INTO dbo.EventTag VALUES('{0}', '{1}')", _event.Id, tag.Label);
                        _databaseContext.Database.ExecuteSqlCommand(sql);
                        _databaseContext.SaveChanges();
                    }
                    else
                    {
                        var sql = String.Format(
                            "INSERT INTO dbo.Events VALUES('{0}','{1}','{2}',CONVERT(varbinary,'{3}'),'{4}','{5}')",
                            _event.Id, _event.DateAndTime, _event.Description, _event.Image, _event.Location,
                            _event.Name);
                        _databaseContext.Database.ExecuteSqlCommand(sql);

                        sql = String.Format("INSERT INTO dbo.Tags VALUES('{0}','{1}')", tag.Label, tag.Verified);
                        _databaseContext.Database.ExecuteSqlCommand(sql);

                        sql = String.Format("INSERT INTO dbo.EventTag VALUES('{0}', '{1}')", _event.Id, tag.Label);
                        _databaseContext.Database.ExecuteSqlCommand(sql);
                        _databaseContext.SaveChanges();
                    }
                }
            }
            finally
            {
                _databaseContext.Database.CloseConnection();
            }
        }