Monday, November 2, 2020

Mscrm Attachment with Seperate Folder

 string root = @"D:\Business";

                    // If directory does not exist, create it. 

                    if (!Directory.Exists(root))

                    {

                        Directory.CreateDirectory(root);

                    }


string FilePath = @"D:\Business\" + loopFetchIndApplications.Attributes["new_businessapplicationid"].ToString();

                                    // Create a sub directory

                                    if (!Directory.Exists(FilePath))

                                    {

                                        Directory.CreateDirectory(FilePath);

                                    }

                                    string getAttachments = @"<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>

   <entity name='annotation'>

                                                     <attribute name='subject' />

                                                    <attribute name='notetext' />

                                                    <attribute name='filename' />

                                                    <attribute name='documentbody' />

                                                    <attribute name='mimetype' />

                                                    <attribute name='annotationid' />

    <order attribute='subject' descending='false' />

  </entity>

</fetch>";



                                    getAttachments = getAttachments.Replace("{replaceID}", loopfetchgetIndDocuments.Id.ToString());


                                    EntityCollection fetchAnnotations = service.RetrieveMultiple(new FetchExpression(getAttachments));


                                    foreach (var loopfetchAnnotations in fetchAnnotations.Entities)

                                    {

                                        if (loopfetchAnnotations.Attributes.Contains("documentbody"))

                                        {

                                            //Also check here, if file with the same name already exists, if not create one

                                            if (!String.IsNullOrWhiteSpace(loopfetchAnnotations.Attributes["documentbody"].ToString()) && !File.Exists(FilePath + "\\" + loopfetchAnnotations.Attributes["filename"].ToString()))

                                            {

                                                byte[] data = Convert.FromBase64String(loopfetchAnnotations.Attributes["documentbody"].ToString());

                                                File.WriteAllBytes(FilePath + "\\" + loopfetchAnnotations.Attributes["filename"].ToString(), data);

                                            }

                                        }

                                    }


                                }

No comments:

Post a Comment

How to Run Microsoft Flow for Every one Month

Introduction: In this Blog we will see how to Run Microsoft Flow for Every one Month. Implementation Steps:   1. Navigate to  https://make.p...