Beispiel #1
0
        public int Lend(int routeId, int routeWorkerId, List <RouteArticleCDto> articles, string workers)
        {
            int count = 0;

            foreach (var a in articles)
            {
                if (a.RecordId > 0)
                {
                    continue;                           // 已领用的
                }
                ArticleRecord record = new ArticleRecord()
                {
                    RouteWorkerId = routeWorkerId,
                    ArticleId     = a.ArticleId,
                    LendTime      = DateTime.Now,
                    LendWorkers   = workers
                };
                int recordId = _recordRepository.InsertAndGetId(record);

                Article article = _articleRepository.Get(a.ArticleId);
                article.ArticleRecordId = recordId;

                RouteArticle ra = new RouteArticle()
                {
                    RouteId         = routeId,
                    RouteWorkerId   = routeWorkerId,
                    ArticleRecordId = recordId
                };
                _routeArticleRepository.Insert(ra);

                count++;
            }
            return(count);
        }
Beispiel #2
0
        public void StoreAricle(ArticleRecord record)
        {
            var machingIndex = articleDatabase.FindIndex(r => r.id == record.id);

            if (machingIndex > -1)
            {
                articleDatabase[machingIndex] = record;
            }
            else
            {
                articleDatabase.Add(record);
            }
        }
Beispiel #3
0
        private ArticleRecordSearchDto MapToSearchDto(ArticleRecord record)
        {
            var worker = WorkManager.GetWorker(record.RouteWorker.WorkerId);

            var dto = new ArticleRecordSearchDto();

            dto.Article       = record.Article.Name;
            dto.Worker        = worker.Cn + ' ' + worker.Name;
            dto.LendTime      = record.LendTime.ToString("yyyy-MM-dd HH:mm:ss");
            dto.ReturnTime    = record.ReturnTime.HasValue ? record.ReturnTime.Value.ToString("yyyy-MM-dd HH:mm:ss") : null;
            dto.LendWorkers   = record.LendWorkers;
            dto.ReturnWorkers = record.ReturnWorkers;
            dto.RouteName     = record.RouteWorker.Route.RouteName;
            return(dto);
        }
Beispiel #4
0
        private async Task Handle(AddArticleCommand addArticle)
        {
            var record = new ArticleRecord
            {
                SectionId = addArticle.SectionId,
                Title     = addArticle.Title,
                Date      = addArticle.Date.Date,
                Text      = addArticle.Text,
                ImageUrl  = addArticle.ImageUrl
            };

            using (var context = new MySqlDbContext())
            {
                await context.Articles.AddAsync(record);

                await context.SaveChangesAsync();
            }

            await Context.ActorOf <EventRootActor>()
            .Ask <CommandResult>(new SaveArticleEvent(record.Id, record.SectionId));

            Sender.Tell(new IdCommandResult(record.Id), Self);
        }
Beispiel #5
0
 internal Article(DatabaseManager man, ArticleRecord articleRecord) :
     base(man, articleRecord)
 {
 }