コード例 #1
0
        public int AddGlossary(GlossaryForm form)
        {
            using (var uow = UnitOfWorkFactory.Create <NovelContext>())
            {
                var service = new GlossaryService(uow);
                var results = service.SaveChanges(form);

                return(results);
            }
        }
コード例 #2
0
ファイル: GlossaryService.cs プロジェクト: fanslations/web
        public int SaveChanges(GlossaryForm form)
        {
            var tGlossary = Table <Glossary>();

            var glossary = tGlossary.GetOrAdd(w => w.ID == form.ID);

            MapProperty(form, glossary, form.InlineEditProperty);
            UpdateAuditFields(glossary, form.ByUserID);
            // save
            SaveChanges();

            return(glossary.ID);
        }
コード例 #3
0
        public int AddNovel(NovelForm form)
        {
            using (var uow = UnitOfWorkFactory.Create <NovelContext>())
            {
                var service = new NovelService(uow);
                var id      = service.SaveChanges(form);

                if (form.Glossaries != null && form.InlineEditProperty == form.PropertyName(m => m.Glossaries))
                {
                    foreach (var glossary in form.Glossaries)
                    {
                        var glossaryService = new GlossaryService(uow);
                        var glossaryForm    = new GlossaryForm();
                        new PropertyMapper <Glossary, GlossaryForm>(glossary, glossaryForm).Map();
                        glossaryForm.SourceID    = id;
                        glossaryForm.SourceTable = R.SourceTable.NOVEL;
                        glossaryForm.ByUserID    = form.ByUserID;

                        var glossaryID = glossaryService.SaveChanges(glossaryForm);
                    }
                }
                return(id);
            }
        }
コード例 #4
0
 public JsonResult Form(GlossaryForm form)
 {
     return(SaveChanges(form, Facade <GlossaryFacade>().AddGlossary));
 }
コード例 #5
0
 public ActionResult Add(GlossaryForm form)
 {
     return(View(form));
 }
コード例 #6
0
ファイル: GroupFacade.cs プロジェクト: fanslations/web
        public int AddGroup(GroupForm form)
        {
            using (var uow = UnitOfWorkFactory.Create <NovelContext>())
            {
                var service = new GroupService(uow);
                var id      = service.SaveChanges(form);

                var connectorService = new ConnectorService(uow);

                if (form.Feeds != null || form.InlineEditProperty == form.PropertyName(m => m.Feeds))
                {
                    var feedService = new FeedService(uow);
                    foreach (var feed in form.Feeds)
                    {
                        feed.UrlHash         = feed.Url.GetIntHash();
                        feed.Status          = feed.Status == 0 ? R.FeedStatus.ACTIVE : feed.Status;
                        feed.LastSuccessDate = DateTime.Now.AddYears(-10);
                        var feedForm = new GenericForm <Feed>
                        {
                            ByUserID  = form.ByUserID,
                            DataModel = feed
                        };
                        var feedID = feedService.SaveChanges(feedForm);

                        // add to connector only if it a new feed
                        if (feed.ID == 0)
                        {
                            // connect series to feed
                            var connectorForm = new ConnectorForm()
                            {
                                ByUserID      = form.ByUserID,
                                ConnectorType = R.ConnectorType.GROUP_FEED,
                                SourceID      = id,
                                TargetID      = feedID
                            };
                            connectorService.SaveChanges(connectorForm);
                        }
                    }
                }

                if (form.Glossaries != null && form.InlineEditProperty == form.PropertyName(m => m.Glossaries))
                {
                    foreach (var glossary in form.Glossaries)
                    {
                        var glossaryService = new GlossaryService(uow);
                        var glossaryForm    = new GlossaryForm();
                        new PropertyMapper <Glossary, GlossaryForm>(glossary, glossaryForm).Map();
                        glossaryForm.ByUserID = form.ByUserID;

                        var glossaryID = glossaryService.SaveChanges(glossaryForm);

                        // connect group to glossary
                        var connectorForm = new ConnectorForm()
                        {
                            ByUserID      = form.ByUserID,
                            ConnectorType = R.ConnectorType.GROUP_GLOSSARY,
                            SourceID      = id,
                            TargetID      = glossaryID
                        };
                        connectorService.SaveChanges(connectorForm);
                    }
                }
                return(id);
            }
        }