Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }