Exemplo n.º 1
0
        public ActionResult Update(ResponseUpdateView model)
        {
            model.ToCourseTC = model.ToCourseTC.ToUpperInvariant();
            if (!Repository.GetAll().Any(x => x.Course_TC == model.ToCourseTC))
            {
                ShowMessage("Курс с кодом {0} не существует".FormatWith(model.ToCourseTC));
                return(RedirectBack());
            }
            var responses     = ResponseService.GetAll(x => x.Course_TC == model.FromCourseTC).ToList();
            var responseCount = responses.Count;

            foreach (var response in responses)
            {
                response.Course_TC = model.ToCourseTC;
            }
            ResponseService.SubmitChanges();
            Func <string, string> comma = x => "," + x + ",";

            var workCount    = UpdateUserWorks(model, comma);
            var sectionCount = UpdateSections(model, comma);

            UpdateEntityStudySets(model, comma);
            var tagCount       = UpdateRelations(model);
            var courseTagCount = UpdateCourseRelations(model);

            SORelationService.SubmitChanges();

            var message = (
                "Обновлено. Отзывов {0}, работ слушателей {1}, не анонс {4}, привязки {2} и курса {3}, ")
                          .FormatWith(responseCount, workCount, tagCount, courseTagCount, sectionCount);

            ShowMessage(message);
            return(RedirectBack());
        }
Exemplo n.º 2
0
        public ActionResult WithoutGuide()
        {
            var courseTCs = SORelationService.GetRelation(typeof(Guide),
                                                          Enumerable.Empty <object>(), typeof(Course))
                            .Where(x => x.Object.IsActive && x.RelationObject.IsActive)
                            .Select(x => x.RelationObject_ID.ToString()).ToList();

            return(CourseTable("Курсы без путеводителей", c => !courseTCs.Contains(c.Course_TC)));
        }
Exemplo n.º 3
0
        private int UpdateCourseRelations(ResponseUpdateView model)
        {
            var courseTableName = LinqToSqlUtils.GetTableName(typeof(Course));
            var relations       = SORelationService.GetAll(x =>
                                                           x.Object_ID.Equals(model.FromCourseTC) &&
                                                           x.ObjectType == courseTableName).ToList();

            foreach (var relation in relations)
            {
                relation.Object_ID = model.ToCourseTC;
            }

            var count = relations.Count;

            return(count);
        }