Wednesday, June 24, 2015

How to copy or documents from one library to docset programatically

 public override void ItemAdded(SPItemEventProperties properties)
        {
            EventFiringEnabled = false;
            Thread.Sleep(20000);
            base.ItemAdded(properties);
            //var FromUrl = @"C:\Users\spadmin\Desktop\tender documents";
            var NewDocSet = properties.WebUrl;
            var displayName = properties.ListItem.DisplayName;
            var ContentType = properties.ListItem.ContentType.Name;
            var web = properties.Web;

            SPFileCollection collFile = web.GetFolder("impdoc").Files;
            SPFolder targetDocset = web.GetFolder(properties.ListItem.Folder.Url);
            foreach (SPFile file in collFile)
            {
                file.Item.CopyTo(web.Url + "/" + properties.ListItem.Folder.Url + "/" + file.Name);
                //file.CopyTo(web.Url + "/TenderLibrary/" + displayName + "/" + file.Name, true);
            }
            if (ContentType == "CreateTender")
            {
                string Id = "T";
                DateTime year = DateTime.Now;
                string y = year.Year.ToString();
                var list = web.Lists[""];
                var query = new SPQuery();
                query.Query = "<Where><Eq><FieldRef Name='ContentType'/><Value Type='Computed'>" + ContentType + "</Value></Eq></Where>";
                var items = list.GetItems(query);
                var maxCount = items.Count;
                string seq = (maxCount + 1).ToString();
                string tenderid = Id + seq + y;
                properties.ListItem["Tender_TenderId"] = tenderid;
                properties.ListItem.Update();
            }

            if (ContentType == "Create Request")
            {
                string Id = "R";
                DateTime year = DateTime.Now;
                string y = year.Year.ToString();
                var list = web.Lists["TenderLibrary"];
                var query = new SPQuery();
                query.Query = "<Where><Eq><FieldRef Name='ContentType'/><Value Type='Computed'>" + ContentType + "</Value></Eq></Where>";
                var items = list.GetItems(query);
                var maxCount = items.Count;
                string seq = (maxCount).ToString();
                string tenderid = Id + seq + y;
                properties.ListItem["Tender_TenderId"] = tenderid;
                properties.ListItem.Update();
                   

            }

            if (ContentType == "Information Request")
            {
                string Id = "I";
                DateTime year = DateTime.Now;
                string y = year.Year.ToString();
                var list = web.Lists[""];
                var query = new SPQuery();
                query.Query = "<Where><Eq><FieldRef Name='ContentType'/><Value Type='Computed'>" + ContentType + "</Value></Eq></Where>";
                var items = list.GetItems(query);
                var maxCount = items.Count;
                string seq = (maxCount + 1).ToString();
                string tenderid = Id + seq + y;
                properties.ListItem["Tender_TenderId"] = tenderid;
                properties.ListItem.Update();

            }

            EventFiringEnabled = true;
        }

No comments:

Post a Comment