Search This Blog

Wednesday, June 10, 2015

GridView Manipulation



<%@ Assembly Name="$SharePoint.Project.AssemblyFullName$" %>
<%@ Import Namespace="Microsoft.SharePoint.ApplicationPages" %>
<%@ Register TagPrefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls"
    Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register TagPrefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register TagPrefix="asp" Namespace="System.Web.UI" Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
<%@ Import Namespace="Microsoft.SharePoint" %>
<%@ Assembly Name="Microsoft.Web.CommandUI, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="EmpTimeSheet.aspx.cs" Inherits="EmployeeTimeSheet.Layouts.EmployeeTimeSheet.EmpTimeSheet"
    DynamicMasterPageFile="~masterurl/default.master" %>

<asp:Content ID="PageHead" ContentPlaceHolderID="PlaceHolderAdditionalPageHead" runat="server">
</asp:Content>
<asp:Content ID="Main" ContentPlaceHolderID="PlaceHolderMain" runat="server">
    <link rel="Stylesheet" type="text/css" href="/_layouts/1033/STYLES/Themable/FORMS.CSS" />
    <link rel="Stylesheet" href="/_layouts/1033/STYLES/TimeSheet/style.css" type="text/css" />
    <asp:Panel ID="pnlEntryTaskDetails" runat="server" CssClass="pnlPage">
        <script type="text/javascript">
            function CkTimeValidation() {
                var drpHrs = document.getElementById('<%= drpfrmhrs.ClientID  %>').value;
                var drpMnts = document.getElementById('<%= drpfrmmins.ClientID  %>').value;

                if (drpHrs == "00" && drpMnts == "00") {
                    alert('Specify the Duration');
                    return false;
                }

                if ((document.getElementById('<%= txtTitle.ClientID  %>').value == "") || (document.getElementById('<%= txtDescription.ClientID  %>').value == "")) {
                    alert('Please fill the mandatory field');
                    return false;
                }

            }
        </script>
        <asp:HiddenField ID="hidListid" runat="server" />
         <asp:HiddenField ID="hiduserLogin" runat="server" />
        <table width="100%" cellpadding="0" cellspacing="0">
            <tr>
                <td colspan="2" class="ms-dlgTitle" style="color: White; font-weight: bold; text-align: center">
                    Employee Time Sheet
                </td>
            </tr>
            <tr>
                <td class="ms-formlabel">
                    Date :
                </td>
                <td class="ms-formbody">
                    <table>
                        <tr>
                            <td>
                                <table cellpadding="0" cellspacing="0">
                                    <tr>
                                        <td>
                                            <SharePoint:DateTimeControl ID="dtselDate" runat="server" DateOnly="true" IsRequiredField="true"
                                                CssClassTextBox="ms-input" />
                                               <asp:HiddenField ID="dtSelectdelete" runat="server"/>
                                        </td>
                                        <td>
                                            <asp:Button ID="btnShow" runat="server" Text="Show" CssClass="ms-ButtonHeightWidth"  Width="100%" />
                                        </td>
                                    </tr>
                                </table>
                            </td>
                        </tr>
                    </table>
                </td>
            </tr>
            <tr>
                <td class="ms-formlabel">
                    Duration :
                </td>
                <td class="ms-formbody">
                    <table>
                        <tr>
                            <td>
                                <table cellpadding="0" cellspacing="0">
                                    <tr>
                                        <td>
                                            <asp:DropDownList ID="drpfrmhrs" runat="server" CssClass="ms-RadioText">
                                                <asp:ListItem Text="0" Value="0"></asp:ListItem>
                                            </asp:DropDownList>
                                            :
                                        </td>
                                        <td>
                                            <asp:DropDownList ID="drpfrmmins" runat="server" CssClass="ms-RadioText">
                                            </asp:DropDownList>
                                        </td>
                                    </tr>
                                </table>
                            </td>
                        </tr>
                    </table>
                </td>
            </tr>
            <tr>
                <td class="ms-formlabel">
                    Title :<asp:Label runat="server" ID="lblTitle" Text=" *" ForeColor="Red"></asp:Label>
                </td>
                <td class="ms-formbody">
                    <asp:TextBox ID="txtTitle" runat="server" CssClass="ms-long ms-spellcheck-true">
                    </asp:TextBox>
                    <%--<asp:RequiredFieldValidator runat="server" ID="reqTitle" ControlToValidate="txtTitle"
                        ErrorMessage="*"></asp:RequiredFieldValidator>--%>
                </td>
            </tr>
            <tr>
                <td class="ms-formlabel">
                    Description :<asp:Label runat="server" ID="lblDesc" Text=" *" ForeColor="Red"></asp:Label>
                </td>
                <td class="ms-formbody">
                    <asp:TextBox ID="txtDescription" runat="server" TextMode="MultiLine" Rows="5" CssClass="ms-long"></asp:TextBox>
                    <%-- <asp:RequiredFieldValidator runat="server" ID="ReqDesc" ControlToValidate="txtDescription"
                        ErrorMessage="*"></asp:RequiredFieldValidator>--%>
                </td>
            </tr>
            <tr>
                <td class="ms-formlabel">
                    Project :
                </td>
                <td class="ms-formbody">
                    <asp:DropDownList ID="drpProjects" runat="server" CssClass="ms-RadioText" AutoPostBack="true"
                        Width="20%">
                    </asp:DropDownList>
                </td>
            </tr>
            <tr>
                <td class="ms-formlabel">
                    Sub Project :
                </td>
                <td class="ms-formbody">
                    <asp:DropDownList ID="drpSubmodules" runat="server" CssClass="ms-RadioText" Width="20%">
                    </asp:DropDownList>
                </td>
            </tr>
            <tr>
                <td class="ms-formlabel">
                    Task Details :
                </td>
                <td class="ms-formbody">
                    <asp:DropDownList ID="drpTaskLists" runat="server" CssClass="ms-RadioText" Width="20%">
                    </asp:DropDownList>
                </td>
            </tr>
            <tr>
                <td class="ms-formlabel" style="text-align: right" colspan="2">
                    <asp:Button ID="btnSubmit" runat="server" Text="Submit" CssClass="ms-ButtonHeightWidth"
                        OnClientClick="javascript:return CkTimeValidation();" />
                    <asp:Button ID="btnCancel" runat="server" Text="Cancel" CssClass="ms-ButtonHeightWidth"
                        OnClientClick="javascript:window.frameElement.cancelPopup(); return false;" />
                </td>
            </tr>
            <tr>
            <td>
               <asp:Label runat="server" ID="lblDisp" Text=""></asp:Label>
            </td>
            </tr>
        </table>
    </asp:Panel>
    <script type="text/javascript">
        function fnEdit(obj) {
            var idval = obj.id;
            var Listid = document.getElementById('<%= hidListid.ClientID  %>').value;
            idval = idval.replace("imgbtn", "Editid");
            var currentURL = window.location.href.split('?')[0];
            var itemid = document.getElementById(idval).value;
            var path =currentURL+"?Status=Edit&List=" + Listid + "&ItemID=" + itemid;
            document.location.href = path;
            return false;
        }
        function fnDelete(obj) {

            if (confirm("Are you sure you want to delete ?")) {
                var idval = obj.id;
                var currentURL = window.location.href.split('?')[0];
                var Listid = document.getElementById('<%= hidListid.ClientID  %>').value;
                var selDt = document.getElementById('<%= dtSelectdelete.ClientID  %>').value;
                var user = document.getElementById('<%= hiduserLogin.ClientID  %>').value;
                idval = idval.replace("imgDelete", "Deleteid");
                var itemid = document.getElementById(idval).value;
                var path = currentURL + "?Status=Delete&List=" + Listid + "&ItemID=" + itemid + "&Date=" + selDt + "&User=" + user;
                document.location.href = path;
            }
            return false;
        }
             
    </script>

 

    <asp:Panel ID="pnlManageTaskDetails" runat="server" CssClass="PnlGrd">
        <asp:Label ID="lblErr" runat="server"></asp:Label>
   
        <asp:GridView ID="grdManageTasks" runat="server" AutoGenerateColumns="false" ShowFooter="true"
            AlternatingRowStyle-CssClass="ms-vb2" FooterStyle-CssClass="ms-formlabel" HeaderStyle-CssClass="ms-vh2"
            RowStyle-CssClass="ms-vb" CssClass="iGActOverDue" Width="100%" CellPadding="0"
            CellSpacing="0">
            <Columns>
                <asp:TemplateField>
                    <HeaderTemplate>
                        Title</HeaderTemplate>
                    <ItemTemplate>
                        <asp:Label ID="lblTitle" Text='<%# Bind("Title") %>' runat="server"></asp:Label>
                    </ItemTemplate>
                    <FooterTemplate>
                        Total:
                    </FooterTemplate>
                </asp:TemplateField>
                <asp:TemplateField>
                    <HeaderTemplate>
                        Duration</HeaderTemplate>
                    <ItemTemplate>
                        <asp:Label ID="lblHrs" Text='<%# Bind("Duration") %>' runat="server"></asp:Label></ItemTemplate>
                    <FooterTemplate>
                        <asp:Label ID="lblTotHrs" runat="server"></asp:Label>
                    </FooterTemplate>
                </asp:TemplateField>
                <asp:BoundField DataField="Description" HeaderText="Description" />
                <asp:BoundField DataField="Projects" HeaderText="Project" />
                <asp:BoundField DataField="SubModules" HeaderText="Sub Project" />
                <asp:BoundField DataField="Tasks" HeaderText="Task Details" />
                <asp:TemplateField  HeaderStyle-Width="4%" HeaderImageUrl="/_layouts/1033/IMAGES/edit.jpg">
                    <ItemTemplate>
                        <asp:HiddenField ID="Editid" runat="server" Value='<%# Bind("ID") %>' />
                        <asp:ImageButton ID="imgbtn" runat="server" CommandName="Edit" ImageUrl="~/_layouts/1033/IMAGES/edit.jpg"
                            ToolTip="Edit the Item" OnClientClick="Javascript:return fnEdit(this);" />
                    </ItemTemplate>
                    <HeaderStyle HorizontalAlign="Center" />
                    <ItemStyle HorizontalAlign="Center" />
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Delete" HeaderStyle-Width="4%" HeaderImageUrl="/_layouts/1033/IMAGES/delete.png">
                    <ItemTemplate>
                        <asp:HiddenField ID="Deleteid" runat="server" Value='<%# Bind("ID") %>' />
                        <img style="cursor: hand" src="~/_layouts/1033/IMAGES/delete.png" onclick="Javascript:return fnDelete(this);"
                            alt="delete" id="imgDelete" runat="server" />
                    </ItemTemplate>
                    <HeaderStyle HorizontalAlign="Center" />
                    <ItemStyle HorizontalAlign="Center" />
                </asp:TemplateField>
            </Columns>
        </asp:GridView>
    </asp:Panel>
    <asp:GridView runat="server" ID="gvTimeSheet" AutoGenerateColumns="true">
    </asp:GridView>
</asp:Content>
<asp:Content ID="PageTitle" ContentPlaceHolderID="PlaceHolderPageTitle" runat="server">
    Employee Time Sheet
</asp:Content>
<asp:Content ID="PageTitleInTitleArea" ContentPlaceHolderID="PlaceHolderPageTitleInTitleArea"
    runat="server">
    Employee Time Sheet
</asp:Content>


Sharepoint Web Parts

Saturday, June 6, 2015

Interop.Word Documents.Open is null


If you are still looking for the answer I have found it just a moment ago for my project.

Open DCOM Config Settings:

    Start -> dcomcnfg.exe
    Computer
    Local Computer
    Config DCOM
    Search for Microsoft Word 97-2003 Documents -> Properties

Tab Identity, change from Launching User to Interactive User


Interop.Word Documents.Open is null

https://support.microsoft.com/en-us/kb/176799

http://forums.asp.net/t/1232621.aspx?Interop+Word+Document+Add+returning+null

http://forums.asp.net/t/1902899.aspx?Cannot+open+a+Word+doc

Tuesday, February 11, 2014

Programmatically add list items using SharePoint 2010 COB with list web service



Add the SharePoint list web service using the below snapshots





Click Advanced section



Click Add Web Reference



In the URL type the corresponding site list web service



private static void CreateWithAttachment(string subject, DateTime frmDate, string fromAdd, string body, List<object> attCollections)
        {

            const string listName = "Read Mails";
            // set up our credentials
            var credentials = new NetworkCredential("spdev", "pwd", "domainname");

            // create a soap client
            var soapClient = new ListsService.Lists();
            soapClient.Credentials = credentials;

            // var create a client context
            var clientContext = new Microsoft.SharePoint.Client.ClientContext("vSiteUrl");
            clientContext.Credentials = credentials;

            // create a list item
            var list = clientContext.Web.Lists.GetByTitle(listName);
            var itemCreateInfo = new ListItemCreationInformation();
            var newItem = list.AddItem(itemCreateInfo);

            // set its properties
            newItem["Title"] = subject;
            newItem["From_x0020_Date"] = frmDate;
            newItem["From_x0020_Address"] = fromAdd;
            newItem["Body"] = body;

            //newItem["Status"] = "New";
            //newItem["_Comments"] = "here are some comments!!";

            // commit it
            newItem.Update();
            clientContext.ExecuteQuery();

            // load back the created item so its ID field is available for use below
            clientContext.Load(newItem);
            clientContext.ExecuteQuery();

            // use the soap client to add the attachment
            //const string path =filePath;

            foreach (List<object> attachColl in attCollections)
            {
                byte[] fs=null;
                string fn =string.Empty;
                foreach (var item in attachColl)
                {
                    fs = ((ReadPopMails.Program.Attachments)(item)).File;
                    fn = ((ReadPopMails.Program.Attachments)(item)).FileName;
                    //string fileName = Convert.ToString(item["FileName"]);
                    string filePath = SaveData(fn, fs);
                    soapClient.AddAttachment(listName, newItem["ID"].ToString(), Path.GetFileName(filePath),
                                         System.IO.File.ReadAllBytes(filePath));

                }

            }

            //soapClient.AddAttachment(listName, newItem["ID"].ToString(), Path.GetFileName(filePath),
            //                          System.IO.File.ReadAllBytes(filePath));
        }