private dtoDiaryItem CreateDtoDiaryItem(litePerson person, CommunityEventItem item, Boolean viewAlsoDeleted, ModuleCommunityDiary module, lm.Comol.Core.FileRepository.Domain.ModuleRepository moduleRepository, ref int lessionID, List <lm.Comol.Core.DomainModel.Repository.RepositoryAttachmentUploadActions> actions, lm.Comol.Core.DomainModel.Repository.RepositoryAttachmentUploadActions dAction, String unknownUser) { dtoDiaryItem dtoItem = new dtoDiaryItem(); dtoItem.CommunityId = item.IdCommunityOwner; DescriptionEventItem dObject = EventItemGetDescriptionObject(item.Id); if (dObject != null) { dtoItem.Description = dObject.Description; dtoItem.DescriptionPlain = dObject.DescriptionPlain; } else { dtoItem.Description = ""; dtoItem.DescriptionPlain = ""; } dtoItem.EventItem = item; dtoItem.Permission = GetItemPermission(person, item, module, moduleRepository); dtoItem.UploadActions = actions; dtoItem.DefaultUploadAction = dAction; dtoItem.Attachments = AttachmentsGet(person, item, viewAlsoDeleted, dtoItem.Permission, moduleRepository, unknownUser).Where(a => a.Attachment.File != null && a.Attachment.File.IsValid).ToList(); dtoItem.Id = item.Id; dtoItem.IdEvent = (item.EventOwner != null ? item.EventOwner.Id : 0); dtoItem.LessonNumber = lessionID; lessionID += 1; return(dtoItem); }
public CommunityEvent AddMultipleItems(Int32 idCommunity, CommunityEventItem dtoItem, String description, String descriptionPlain, int ownerId, CommunityEventType eventType, DateTime startDate, DateTime endDate, List <dtoWeekDay> weekDays) { CommunityEvent communityEvent = null; try { litePerson person = Manager.GetLitePerson(ownerId); liteCommunity community = Manager.GetLiteCommunity(idCommunity); if ((community != null && idCommunity > 0) && person != null) { List <dtoWeekDayRecurrence> itemsToInsert = dtoWeekDayRecurrence.CreateRecurrency(startDate, endDate, weekDays); if (itemsToInsert.Count > 0) { Manager.BeginTransaction(); communityEvent = CreateGenericEvent(idCommunity, dtoItem, eventType, person); Manager.SaveOrUpdate(communityEvent); foreach (dtoWeekDayRecurrence recurrence in itemsToInsert) { CommunityEventItem eventItem = new CommunityEventItem() { IdCommunityOwner = idCommunity, EventOwner = communityEvent, Owner = person, CreatedBy = person, CreatedOn = DateTime.Now }; eventItem.ModifiedBy = eventItem.CreatedBy; eventItem.ModifiedOn = eventItem.CreatedOn; eventItem.Note = dtoItem.Note; eventItem.NotePlain = dtoItem.NotePlain; eventItem.Place = dtoItem.Place; eventItem.Title = dtoItem.Title; eventItem.StartDate = recurrence.StartDate; eventItem.EndDate = recurrence.EndDate; eventItem.ShowDateInfo = dtoItem.ShowDateInfo; eventItem.IsVisible = dtoItem.IsVisible; eventItem.Link = dtoItem.Link; eventItem.AllowEdit = true; Manager.SaveOrUpdate(eventItem); if (!String.IsNullOrEmpty(description)) { DescriptionEventItem descriptionItem = new DescriptionEventItem() { Id = eventItem.Id, Description = description }; descriptionItem.DescriptionPlain = descriptionPlain; Manager.SaveOrUpdate(descriptionItem); } communityEvent.Items.Add(eventItem); } Manager.SaveOrUpdate(communityEvent); Manager.Commit(); } } } catch (Exception ex) { Manager.RollBack(); communityEvent = null; } return(communityEvent); }
public CommunityEventItem SaveEventItem(int idCommunity, CommunityEventItem unsavedItem, String description, String descriptionPlain, int ownerId, int savedById, CommunityEventType eventType) { CommunityEventItem eventItem = null; litePerson owner = Manager.GetLitePerson(ownerId); litePerson savedBy = Manager.GetLitePerson(savedById); liteCommunity community = Manager.GetLiteCommunity(idCommunity); CommunityEvent eventOwner = unsavedItem.EventOwner; try { if (owner != null && savedBy != null && (community != null && idCommunity > 0)) { Manager.BeginTransaction(); if (unsavedItem.Id == 0) { eventItem = new CommunityEventItem(); eventItem.Owner = owner; eventItem.CreatedBy = savedBy; eventItem.CreatedOn = DateTime.Now; eventItem.ModifiedBy = savedBy; eventItem.ModifiedOn = eventItem.CreatedOn; eventItem.IdCommunityOwner = idCommunity; eventItem.AllowEdit = true; } else { eventItem = Manager.Get <CommunityEventItem>(unsavedItem.Id); if (eventItem.Owner == null) { eventItem.Owner = savedBy; } eventItem.ModifiedBy = savedBy; eventItem.ModifiedOn = DateTime.Now; } eventItem.Note = unsavedItem.Note; eventItem.NotePlain = unsavedItem.NotePlain; eventItem.Place = unsavedItem.Place; eventItem.Title = unsavedItem.Title; eventItem.StartDate = unsavedItem.StartDate; eventItem.EndDate = unsavedItem.EndDate; eventItem.ShowDateInfo = unsavedItem.ShowDateInfo; eventItem.IsVisible = unsavedItem.IsVisible; eventItem.Link = unsavedItem.Link; if (unsavedItem.Id == 0) { eventOwner = CreateGenericEvent(idCommunity, eventItem, eventType, savedBy); Manager.SaveOrUpdate(eventOwner); eventItem.EventOwner = eventOwner; if (eventOwner.Items == null) { eventOwner.Items = new List <CommunityEventItem>(); } eventOwner.Items.Add(eventItem); Manager.SaveOrUpdate(eventItem); Manager.SaveOrUpdate(eventOwner); } else { Manager.SaveOrUpdate(eventItem); } DescriptionEventItem descriptionItem = Manager.Get <DescriptionEventItem>(eventItem.Id); if (descriptionItem == null && !string.IsNullOrEmpty(description)) { descriptionItem = new DescriptionEventItem() { Id = eventItem.Id } } ; if (descriptionItem != null) { descriptionItem.Description = description; descriptionItem.DescriptionPlain = descriptionPlain; Manager.SaveOrUpdate(descriptionItem); } Manager.Commit(); } } catch (Exception ex) { Manager.RollBack(); eventItem = null; } return(eventItem); }