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()); }
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))); }
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); }