public void SetByApi(Context context, SiteSettings ss) { var data = context.RequestDataString.Deserialize <GroupApiModel>(); if (data == null) { return; } if (data.TenantId != null) { TenantId = data.TenantId.ToInt().ToInt(); } if (data.GroupName != null) { GroupName = data.GroupName.ToString().ToString(); } if (data.Body != null) { Body = data.Body.ToString().ToString(); } if (data.Comments != null) { Comments.Prepend(context: context, ss: ss, body: data.Comments); } if (data.VerUp != null) { VerUp = data.VerUp.ToBool(); } data.ClassHash?.ForEach(o => Class( columnName: o.Key, value: o.Value)); data.NumHash?.ForEach(o => Num( columnName: o.Key, value: o.Value)); data.DateHash?.ForEach(o => Date( columnName: o.Key, value: o.Value.ToUniversal(context: context))); data.DescriptionHash?.ForEach(o => Description( columnName: o.Key, value: o.Value)); data.CheckHash?.ForEach(o => Check( columnName: o.Key, value: o.Value)); data.AttachmentsHash?.ForEach(o => { string columnName = o.Key; Attachments newAttachments = o.Value; Attachments oldAttachments = AttachmentsHash.Get(columnName); if (oldAttachments != null) { var newGuidSet = new HashSet <string>(newAttachments.Select(x => x.Guid).Distinct()); newAttachments.AddRange(oldAttachments.Where((oldvalue) => !newGuidSet.Contains(oldvalue.Guid))); } Attachments(columnName: columnName, value: newAttachments); }); }
private void GetAttachments() { List <ListAttachments> listAttachments = new List <ListAttachments>(); var listIds = from item in Articles select item.Id; listAttachments.AddRange(RestApi.MultiplyRequestAttachment <ListAttachments>(ApiRequest.Attachments, listIds).Result); foreach (var item in listAttachments) { Attachments.AddRange(item.ArticleAttachments); } }
private List <OrderAttachmentHistoryEntry> ChangeAttachments(IEnumerable <int> updatedAttachments) { //before changing the attachments var orderAttachmentHistoryEntries = Attachments.Select(a => new OrderAttachmentHistoryEntry { AttachmentId = a.AttachmentId }).ToList(); List <int> ordergroupAttachmentIdsToRemove = Enumerable.Empty <int>().ToList(); IEnumerable <int> orderAttachmentIds = Attachments.Select(a => a.AttachmentId); IEnumerable <int> orderGroupAttachmentIds = OrderGroupId.HasValue ? Group.Attachments.Select(ag => ag.AttachmentId) : Enumerable.Empty <int>(); IEnumerable <int> oldOrderAttachmentIdsToCompare = orderAttachmentIds.Union(orderGroupAttachmentIds); //all attachments removed if (oldOrderAttachmentIdsToCompare.Any() && !updatedAttachments.Any()) { Attachments.Clear(); if (orderGroupAttachmentIds.Any()) { ordergroupAttachmentIdsToRemove.AddRange(orderGroupAttachmentIds); } } else { //add those that should be removed from group ordergroupAttachmentIdsToRemove.AddRange(orderGroupAttachmentIds.Except(updatedAttachments)); //new added attachments Attachments.AddRange(updatedAttachments.Except(oldOrderAttachmentIdsToCompare).Select(a => new OrderAttachment { AttachmentId = a }).ToList()); //removed from order foreach (int i in orderAttachmentIds.Except(updatedAttachments).ToList()) { var attachment = Attachments.Single(a => a.AttachmentId == i); Attachments.Remove(attachment); } } orderAttachmentHistoryEntries.AddRange(ordergroupAttachmentIdsToRemove.Select(a => new OrderAttachmentHistoryEntry { AttachmentId = a, OrderGroupAttachmentRemoved = true })); return(orderAttachmentHistoryEntries); }
private async Task DisplayAttachmentAsync(MailMessageContext message) { var attachmentContexts = new List <AttachmentContext>(); using (var context = new DatabaseContext()) { var mimeMessage = await context.MimeMessages.FirstOrDefaultAsync(x => x.MessageId == message.Id); if (mimeMessage == null) { return; } var reader = new MailMessageReader(mimeMessage.Data); var attachments = reader.FindAllAttachments(); attachments.Where(x => x.ContentId == null) .ForEach(y => attachmentContexts.Add(new AttachmentContext(y))); } Application.Current.Dispatcher.Invoke(() => { Attachments.Clear(); Attachments.AddRange(attachmentContexts); }); }
public void SetByApi(Context context, SiteSettings ss) { var data = context.RequestDataString.Deserialize <RegistrationApiModel>(); if (data == null) { return; } if (data.MailAddress != null) { MailAddress = data.MailAddress.ToString().ToString(); } if (data.Invitee != null) { Invitee = data.Invitee.ToInt().ToInt(); } if (data.InviteeName != null) { InviteeName = data.InviteeName.ToString().ToString(); } if (data.LoginId != null) { LoginId = data.LoginId.ToString().ToString(); } if (data.Name != null) { Name = data.Name.ToString().ToString(); } if (data.Password != null) { Password = data.Password.ToString().ToString().Sha512Cng(); } if (data.Language != null) { Language = data.Language.ToString().ToString(); } if (data.Passphrase != null) { Passphrase = data.Passphrase.ToString().ToString(); } if (data.Invitingflg != null) { Invitingflg = data.Invitingflg.ToString().ToString(); } if (data.UserId != null) { UserId = data.UserId.ToInt().ToInt(); } if (data.DeptId != null) { DeptId = data.DeptId.ToInt().ToInt(); } if (data.GroupId != null) { GroupId = data.GroupId.ToInt().ToInt(); } if (data.Comments != null) { Comments.Prepend(context: context, ss: ss, body: data.Comments); } if (data.VerUp != null) { VerUp = data.VerUp.ToBool(); } data.ClassHash?.ForEach(o => Class( columnName: o.Key, value: o.Value)); data.NumHash?.ForEach(o => Num( columnName: o.Key, value: o.Value)); data.DateHash?.ForEach(o => Date( columnName: o.Key, value: o.Value.ToUniversal(context: context))); data.DescriptionHash?.ForEach(o => Description( columnName: o.Key, value: o.Value)); data.CheckHash?.ForEach(o => Check( columnName: o.Key, value: o.Value)); data.AttachmentsHash?.ForEach(o => { string columnName = o.Key; Attachments newAttachments = o.Value; Attachments oldAttachments = AttachmentsHash.Get(columnName); if (oldAttachments != null) { var newGuidSet = new HashSet <string>(newAttachments.Select(x => x.Guid).Distinct()); newAttachments.AddRange(oldAttachments.Where((oldvalue) => !newGuidSet.Contains(oldvalue.Guid))); } Attachments(columnName: columnName, value: newAttachments); }); }
public void SetByApi(Context context, SiteSettings ss) { var data = context.RequestDataString.Deserialize <TenantApiModel>(); if (data == null) { return; } if (data.TenantName != null) { TenantName = data.TenantName.ToString().ToString(); } if (data.Title != null) { Title = new Title(data.Title.ToString()); } if (data.Body != null) { Body = data.Body.ToString().ToString(); } if (data.ContractDeadline != null) { ContractDeadline = data.ContractDeadline.ToDateTime().ToDateTime().ToUniversal(context: context); } if (data.DisableAllUsersPermission != null) { DisableAllUsersPermission = data.DisableAllUsersPermission.ToBool().ToBool(); } if (data.DisableStartGuide != null) { DisableStartGuide = data.DisableStartGuide.ToBool().ToBool(); } if (data.LogoType != null) { LogoType = (LogoTypes)data.LogoType.ToInt().ToInt(); } if (data.HtmlTitleTop != null) { HtmlTitleTop = data.HtmlTitleTop.ToString().ToString(); } if (data.HtmlTitleSite != null) { HtmlTitleSite = data.HtmlTitleSite.ToString().ToString(); } if (data.HtmlTitleRecord != null) { HtmlTitleRecord = data.HtmlTitleRecord.ToString().ToString(); } if (data.Comments != null) { Comments.Prepend(context: context, ss: ss, body: data.Comments); } if (data.VerUp != null) { VerUp = data.VerUp.ToBool(); } data.ClassHash?.ForEach(o => Class( columnName: o.Key, value: o.Value)); data.NumHash?.ForEach(o => Num( columnName: o.Key, value: o.Value)); data.DateHash?.ForEach(o => Date( columnName: o.Key, value: o.Value.ToUniversal(context: context))); data.DescriptionHash?.ForEach(o => Description( columnName: o.Key, value: o.Value)); data.CheckHash?.ForEach(o => Check( columnName: o.Key, value: o.Value)); data.AttachmentsHash?.ForEach(o => { string columnName = o.Key; Attachments newAttachments = o.Value; Attachments oldAttachments = AttachmentsHash.Get(columnName); if (oldAttachments != null) { var newGuidSet = new HashSet <string>(newAttachments.Select(x => x.Guid).Distinct()); newAttachments.AddRange(oldAttachments.Where((oldvalue) => !newGuidSet.Contains(oldvalue.Guid))); } Attachments(columnName: columnName, value: newAttachments); }); }
public void SetByApi(Context context, SiteSettings ss) { var data = context.RequestDataString.Deserialize <TenantApiModel>(); if (data == null) { context.InvalidJsonData = !context.RequestDataString.IsNullOrEmpty(); return; } if (data.TenantName != null) { TenantName = data.TenantName.ToString().ToString(); } if (data.Title != null) { Title = new Title(data.Title.ToString()); } if (data.Body != null) { Body = data.Body.ToString().ToString(); } if (data.ContractDeadline != null) { ContractDeadline = data.ContractDeadline.ToDateTime().ToDateTime().ToUniversal(context: context); } if (data.DisableAllUsersPermission != null) { DisableAllUsersPermission = data.DisableAllUsersPermission.ToBool().ToBool(); } if (data.DisableStartGuide != null) { DisableStartGuide = data.DisableStartGuide.ToBool().ToBool(); } if (data.LogoType != null) { LogoType = (LogoTypes)data.LogoType.ToInt().ToInt(); } if (data.HtmlTitleTop != null) { HtmlTitleTop = data.HtmlTitleTop.ToString().ToString(); } if (data.HtmlTitleSite != null) { HtmlTitleSite = data.HtmlTitleSite.ToString().ToString(); } if (data.HtmlTitleRecord != null) { HtmlTitleRecord = data.HtmlTitleRecord.ToString().ToString(); } if (data.TopStyle != null) { TopStyle = data.TopStyle.ToString().ToString(); } if (data.TopScript != null) { TopScript = data.TopScript.ToString().ToString(); } if (data.Comments != null) { Comments.Prepend(context: context, ss: ss, body: data.Comments); } if (data.VerUp != null) { VerUp = data.VerUp.ToBool(); } data.ClassHash?.ForEach(o => GetClass( columnName: o.Key, value: o.Value)); data.NumHash?.ForEach(o => GetNum( columnName: o.Key, value: new Num( context: context, column: ss.GetColumn( context: context, columnName: o.Key), value: o.Value.ToString()))); data.DateHash?.ForEach(o => GetDate( columnName: o.Key, value: o.Value.ToDateTime().ToUniversal(context: context))); data.DescriptionHash?.ForEach(o => GetDescription( columnName: o.Key, value: o.Value)); data.CheckHash?.ForEach(o => GetCheck( columnName: o.Key, value: o.Value)); data.AttachmentsHash?.ForEach(o => { string columnName = o.Key; Attachments newAttachments = o.Value; Attachments oldAttachments; if (columnName == "Attachments#Uploading") { var kvp = AttachmentsHash .FirstOrDefault(x => x.Value .Any(att => att.Guid == newAttachments.FirstOrDefault()?.Guid?.Split_1st())); columnName = kvp.Key; oldAttachments = kvp.Value; var column = ss.GetColumn( context: context, columnName: columnName); if (column.OverwriteSameFileName == true) { var oldAtt = oldAttachments .FirstOrDefault(att => att.Guid == newAttachments.FirstOrDefault()?.Guid?.Split_1st()); if (oldAtt != null) { oldAtt.Deleted = true; oldAtt.Overwritten = true; } } newAttachments.ForEach(att => att.Guid = att.Guid.Split_2nd()); } else { oldAttachments = AttachmentsHash.Get(columnName); } if (oldAttachments != null) { var column = ss.GetColumn( context: context, columnName: columnName); var newGuidSet = new HashSet <string>(newAttachments.Select(x => x.Guid).Distinct()); var newNameSet = new HashSet <string>(newAttachments.Select(x => x.Name).Distinct()); newAttachments.ForEach(newAttachment => { newAttachment.AttachmentAction( context: context, column: column, oldAttachments: oldAttachments); }); if (column.OverwriteSameFileName == true) { newAttachments.AddRange(oldAttachments. Where((oldvalue) => !newGuidSet.Contains(oldvalue.Guid) && !newNameSet.Contains(oldvalue.Name))); } else { newAttachments.AddRange(oldAttachments. Where((oldvalue) => !newGuidSet.Contains(oldvalue.Guid))); } } GetAttachments(columnName: columnName, value: newAttachments); }); }