protected override void InnerMap(Activity activity, AnnouncementDetails annDetails) { MapperFactory.GetMapper <Activity, AnnouncementComplex>().Map(activity, annDetails); if (annDetails.AnnouncementAttributes != null && annDetails.AnnouncementAttributes.Count > 0) { if (activity.Attributes == null) { activity.Attributes = new List <ActivityAssignedAttribute>(); } var newAtts = new List <ActivityAssignedAttribute>(); foreach (var annAtt in annDetails.AnnouncementAttributes) { var att = activity.Attributes.FirstOrDefault(x => x.Id == annAtt.SisActivityAssignedAttributeId); if (att == null) { att = new ActivityAssignedAttribute { ActivityId = activity.Id }; newAtts.Add(att); } MapperFactory.GetMapper <ActivityAssignedAttribute, AnnouncementAssignedAttribute>().Map(att, annAtt); } activity.Attributes = activity.Attributes.Concat(newAtts); } if (annDetails.AnnouncementStandards != null && annDetails.AnnouncementStandards.Count > 0) { if (activity.Standards == null) { activity.Standards = new LinkedList <ActivityStandard>(); } var newStandards = new List <ActivityStandard>(); foreach (var annStandard in annDetails.AnnouncementStandards) { if (annStandard.Standard != null) { var activitySt = activity.Standards.FirstOrDefault(x => x.Id == annStandard.StandardRef); if (activitySt == null) { activitySt = new ActivityStandard(); newStandards.Add(activitySt); } activitySt.Id = annStandard.Standard.Id; activitySt.Name = annStandard.Standard.Name; } } activity.Standards = activity.Standards.Concat(newStandards); } }
public AnnouncementAssignedAttribute Add(AnnouncementTypeEnum announcementType, int announcementId, int attributeTypeId) { var ann = ServiceLocator.GetAnnouncementService(announcementType).GetAnnouncementById(announcementId); Trace.Assert(Context.PersonId.HasValue); Trace.Assert(Context.SchoolLocalId.HasValue); var attributeType = ServiceLocator.AnnouncementAttributeService.GetAttributeById(attributeTypeId, true); using (var uow = Update()) { if (!CanAttach(ann)) { throw new ChalkableSecurityException(); } var annAttribute = new AnnouncementAssignedAttribute { AnnouncementRef = ann.Id, AttributeTypeId = attributeType.Id, Text = "", VisibleForStudents = false, Name = attributeType.Name }; if (announcementType == AnnouncementTypeEnum.Class) { var announcement = ServiceLocator.ClassAnnouncementService.GetClassAnnouncemenById(announcementId); if (announcement.SisActivityId.HasValue) { var activityAssignedAttr = new ActivityAssignedAttribute(); MapperFactory.GetMapper <ActivityAssignedAttribute, AnnouncementAssignedAttribute>().Map(activityAssignedAttr, annAttribute); activityAssignedAttr.Text = " "; activityAssignedAttr = ConnectorLocator.ActivityAssignedAttributeConnector.CreateActivityAttribute(announcement.SisActivityId.Value, activityAssignedAttr); MapperFactory.GetMapper <AnnouncementAssignedAttribute, ActivityAssignedAttribute>().Map(annAttribute, activityAssignedAttr); annAttribute.Name = attributeType.Name;//activity attr returns null name } } var da = new AnnouncementAssignedAttributeDataAccess(uow); var id = da.InsertWithEntityId(annAttribute); uow.Commit(); return(da.GetById(id)); } }
public void Update(int activityId, int id, ActivityAssignedAttribute activityAssignedAttribute) { Put(string.Format(urlFormat + "/{1}", activityId, id), activityAssignedAttribute); }
public ActivityAssignedAttribute CreateActivityAttribute(int activityId, ActivityAssignedAttribute activityAssignedAttribute) { return(Post(string.Format(urlFormat, activityId), activityAssignedAttribute)); }