fix elenco timbrature

This commit is contained in:
Samuele E. Locatelli
2021-01-08 12:48:39 +01:00
parent 8e3f47143c
commit c81dd8a2cb
10 changed files with 699 additions and 765 deletions
@@ -35,7 +35,7 @@
<asp:BoundField DataField="oreVen" HeaderText="Ven" SortExpression="oreVen" DataFormatString="{0:0.##}" ControlStyle-Width="1em" />
<asp:BoundField DataField="oreSab" HeaderText="Sab" SortExpression="oreSab" DataFormatString="{0:0.##}" ControlStyle-Width="1em" />
<asp:BoundField DataField="oreDom" HeaderText="Dom" SortExpression="oreDom" DataFormatString="{0:0.##}" ControlStyle-Width="1em" />
<asp:BoundField DataField="oreOrdSett" HeaderText="Ordinarie" SortExpression="oreOrdSett" DataFormatString="{0:0.##}" ControlStyle-Width="2em" />
<asp:BoundField DataField="oreOrdSett" HeaderText="Ordinarie" SortExpression="oreOrdSett" DataFormatString="{0:0.##}" ControlStyle-Width="2em" ReadOnly="true" />
<asp:BoundField DataField="oreStraordAss" HeaderText="Straordinarie" SortExpression="oreStraordAss" DataFormatString="{0:0.##}" ControlStyle-Width="2em" />
<asp:CheckBoxField DataField="autoCompOreOrd" HeaderText="autoCompOreOrd" SortExpression="autoCompOreOrd" ControlStyle-Width="1em" />
<asp:BoundField DataField="oraInizio_1" HeaderText="Inizio_1" SortExpression="oraInizio_1" ControlStyle-Width="4em" />
@@ -4,222 +4,102 @@
<%@ Register Src="mod_autocomplete.ascx" TagPrefix="uc2" TagName="mod_autocomplete" %>
<% if (false)
{ %>
{ %>
<link href="~/css/Style.css" rel="stylesheet" type="text/css" />
<% } %>
<asp:Panel runat="server" ID="pnlAll" Height="100%">
<asp:Panel runat="server" ID="pnlHeader" class="dataBlockHeader" Style="height: 30px; text-align: center; margin: auto; font-size: 12pt;">
<asp:Label runat="server" ID="lblTitle" />
<div class="divDx">
<asp:ImageButton ID="imgBtnNew" runat="server" ToolTip="Nuovo" CausesValidation="False" OnClick="btnNew_Click" ImageUrl="~/images/new_l.png" />
</div>
</asp:Panel>
<div class="dataBlockReset" style="padding: 4px 0px 4px 0px;">
<asp:GridView ID="grView" runat="server" DataSourceID="odsRA" AutoGenerateColumns="False" OnRowDeleted="grView_RowDeleted"
OnRowCommand="grView_RowCommand" DataKeyNames="idxRA" OnRowDataBound="grView_RowDataBound" OnRowEditing="grView_RowEditing"
ShowHeader="false" Width="100%" OnRowUpdated="grView_RowUpdated">
<AlternatingRowStyle CssClass="alternatingRowStyle" />
<EditRowStyle CssClass="editRowStyle" />
<FooterStyle CssClass="footerRowStyle" />
<HeaderStyle CssClass="headerStyle" ForeColor="White" />
<PagerStyle CssClass="pagerStyle" ForeColor="White" />
<RowStyle CssClass="rowStyle" />
<SelectedRowStyle CssClass="selectedRowStyle" ForeColor="#333333" />
<SortedAscendingCellStyle CssClass="sortAscCell" />
<SortedAscendingHeaderStyle CssClass="sortAscHead" />
<SortedDescendingCellStyle CssClass="sortDescCell" />
<SortedDescendingHeaderStyle CssClass="sortDescHead" />
<EmptyDataTemplate>
<div style="background-color: #ACACAC;">
<asp:Panel runat="server" ID="pnlAll">
<div class="row">
<asp:Panel runat="server" ID="pnlHeader" class="col-12">
<asp:Label runat="server" ID="lblTitle" />
<div class="divDx">
<asp:ImageButton ID="imgBtnNew" runat="server" ToolTip="Nuovo" CausesValidation="False" OnClick="btnNew_Click" ImageUrl="~/images/new_l.png" />
</div>
</asp:Panel>
<div class="col-12">
<asp:GridView ID="grView" runat="server" DataSourceID="odsRA" AutoGenerateColumns="False" OnRowDeleted="grView_RowDeleted" OnRowCommand="grView_RowCommand" DataKeyNames="idxRA" OnRowDataBound="grView_RowDataBound" OnRowEditing="grView_RowEditing" OnRowUpdated="grView_RowUpdated" CssClass="table table-sm table-striped">
<EditRowStyle CssClass="table-primary" />
<SelectedRowStyle CssClass="table-info" />
<HeaderStyle CssClass="default" />
<PagerStyle CssClass="active GridPager" />
<PagerSettings Mode="NumericFirstLast" />
<EmptyDataTemplate>
Nessun record COMMESSA
</div>
</EmptyDataTemplate>
<Columns>
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<asp:ImageButton ID="imgClona" runat="server" CausesValidation="False" CommandArgument='<%# Eval("idxRA") %>' CommandName="Update"
ToolTip='<%# traduci("Duplica") %>' ImageUrl="~/images/clonaObj_l.png" OnClick="imgClona_Click" Visible='<%# enableFull %>' />
</ItemTemplate>
<EditItemTemplate>
</EditItemTemplate>
<FooterTemplate>
</FooterTemplate>
<HeaderTemplate>
</HeaderTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Record Commesse">
<ItemTemplate>
<div>
<asp:LinkButton ID="lnkEdit" runat="server" CausesValidation="False" CommandName="Edit" ToolTip='<%# traduci("Edit") %>'
CssClass="noLink" Enabled='<%# enableFull %>'>
<div style="padding: 4px 4px 1px 4px; width: 326px;">
<div class="divSx">
<div style="font-size: 10pt; color: Black;">
<b>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("RagSociale") %>' /></b>|
<asp:Label ID="Label2" runat="server" Text='<%# Eval("nomeProj") %>' ForeColor="GrayText" Font-Size="8pt" />
</div>
<div style="font-size: 8pt;">
<asp:Label ID="Label10" runat="server" Text='<%# Eval("nomeFase") %>' ForeColor="Green" />
</div>
</EmptyDataTemplate>
<Columns>
<asp:TemplateField HeaderText="Record Commesse">
<ItemTemplate>
<div class="row">
<div class="col-9">
<div class="text-dark">
<b>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("RagSociale") %>' /></b>|
<asp:Label ID="Label2" runat="server" Text='<%# Eval("nomeProj") %>' CssClass="text-secondary" />
</div>
<div class="divDx" style="text-align: right; white-space: nowrap; right: 0px; top: 0px;">
<div class="ui-corner-all" style="font-size: 8pt; background: #EEE; border: 1px solid #333; color: #333; padding: .1em;">
<asp:Label ID="Label11" runat="server" Text='<%# Eval("inizio","{0:HH:mm}") %>' />
-
<div class="text-success">
<asp:Label ID="Label10" runat="server" Text='<%# Eval("nomeFase") %>' />
</div>
</div>
<div class="col-3 text-center">
<div class="table-secondary border rounded">
<asp:Label ID="Label11" runat="server" Text='<%# Eval("inizio","{0:HH:mm}") %>' />
-
<asp:Label ID="Label12" runat="server" Text='<%# Eval("fine","{0:HH:mm}") %>' />
</div>
<div style="font-size: 11pt; color: #333; padding: .1em;">
<b>
<asp:Label ID="Label13" runat="server" Text='<%# formatDurata(Eval("oreTot")) %>' /></b> h
</div>
</div>
</div>
<div class="clearDiv" style="font-size: 8pt; padding: 1px 4px 4px 4px; color: #333;">
<div style="font-size: 8pt;">
<asp:Label ID="Label9" runat="server" Text='<%# Eval("descrizione").ToString().Replace(Environment.NewLine,"<br />").Replace("\n","<br />") %>' />
<div style="font-size: 11pt; color: #333; padding: .1em;">
<b>
<asp:Label ID="Label13" runat="server" Text='<%# formatDurata(Eval("oreTot")) %>' /></b> h
</div>
</div>
</asp:LinkButton></div></ItemTemplate><EditItemTemplate>
<div style="padding: 4px 0px 0px 4px; width: 326px;">
<div>
<div class="divSx">
<div>
<label for="ddlProgetto" style="font-size: x-small;">
Progetto </label><br /><asp:DropDownList ID="ddlProgetto" runat="server" DataSourceID="odsProgetto" DataTextField="label" DataValueField="value"
AutoPostBack="True" OnSelectedIndexChanged="ddlProgetto_SelectedIndexChanged" Font-Size="8pt" Width="22em">
</asp:DropDownList>
</div>
<div>
<label for="ddlFase" style="font-size: x-small;">
Fase </label><br /><asp:DropDownList ID="ddlFase" runat="server" DataSourceID="odsFase" DataTextField="label" DataValueField="value" Font-Size="8pt"
OnDataBound="ddlFase_DataBound" Width="22em">
</asp:DropDownList>
</div>
</div>
<div class="divSx" style="padding-left: 4px;">
<label for="txtSearchFase" style="font-size: x-small;">
<-- Search</label> <br /><asp:TextBox runat="server" ID="txtSearchFase" AutoPostBack="true" Width="80px" Font-Size="8pt" OnTextChanged="txtSearchFase_TextChanged" TextMode="MultiLine" />
<%--<br />
<uc2:mod_autocomplete runat="server" ID="acSearchFase" minCharAutocomplete="2" showKey="false" ServicePath="~/Services/WS_data.asmx/ElencoFasi" placeholder="Search" labelRicerca="search" labelWidth="45px" />--%>
</div>
</div>
<div>
<div class="divSx">
<uc1:mod_dateTime ID="dtInizio" runat="server" valoreDateTime='<%# Bind("inizio") %>' labelData="Inizio" labelOra="Ora" />
</div>
<div class="divDx">
<uc1:mod_dateTime ID="dtFine" runat="server" valoreDateTime='<%# Bind("fine") %>' labelData="Fine" labelOra="Ora" />
</div>
<div class="divCenter">
&nbsp; </div></div><br />descrizione: <asp:TextBox ID="txtDescrizione" runat="server" Text='<%# Bind("descrizione") %>' TextMode="MultiLine" Height="6em" Width="24em" />
<div class="divCenter" style="height: 36px;">
<div class="divSx third" style="padding: 2px 4px 2px 4px; margin: auto; text-align: center; height: 20px;">
<asp:Button runat="server" ID="btnInsert" Text="Aggiorna" CssClass="btnVerde ui-corner-all shadowBox btnNew" CommandName="Update"
CausesValidation="true" />
</div>
<div class="divDx third" style="padding: 2px 4px 2px 4px; margin: auto; text-align: center; height: 20px;">
<asp:Button runat="server" ID="btnInsertCancel" Text="Annulla" CssClass="btnRosso ui-corner-all shadowBox btnChiudi" CommandName="Cancel" />
<div class="row">
<div class="col-12 small">
<asp:Label ID="Label9" runat="server" Text='<%# Eval("descrizione").ToString().Replace(Environment.NewLine,"<br />").Replace("\n","<br />") %>' />
</div>
</div>
</div>
</EditItemTemplate>
<FooterTemplate>
<div style="padding: 4px 0px 0px 4px; width: 326px;">
<div>
<div class="divSx">
<div>
<label for="ddlProgetto" style="font-size: x-small;">
Progetto </label><br /><asp:DropDownList ID="ddlProgetto" runat="server" DataSourceID="odsProgetto" DataTextField="label" DataValueField="value"
AutoPostBack="True" OnSelectedIndexChanged="ddlProgetto_SelectedIndexChanged" Font-Size="8pt" Width="22em">
</asp:DropDownList>
</div>
<div>
<label for="ddlFase" style="font-size: x-small;">
Fase </label><br /><asp:DropDownList ID="ddlFase" runat="server" DataSourceID="odsFase" DataTextField="label" DataValueField="value" Font-Size="8pt"
OnDataBound="ddlFase_DataBound" Width="22em">
</asp:DropDownList>
</div>
</div>
<div class="divSx" style="padding-left: 4px;">
<label for="txtSearchFase" style="font-size: x-small;">
<-- Search</label> <br /><asp:TextBox runat="server" ID="txtSearchFase" AutoPostBack="true" Width="80px" Font-Size="8pt" OnTextChanged="txtSearchFase_TextChanged" TextMode="MultiLine" />
</div>
</div>
<div class="clearDiv">
<div class="divSx">
<uc1:mod_dateTime ID="dtInizio" runat="server" valoreDateTime='<%# Bind("inizio") %>' labelData="Inizio" labelOra="Ora" />
</div>
<div class="divDx">
<uc1:mod_dateTime ID="dtFine" runat="server" valoreDateTime='<%# Bind("fine") %>' labelData="Fine" labelOra="Ora" />
</div>
<div class="divCenter">
&nbsp; </div></div><br />descrizione: <asp:TextBox ID="txtDescrizione" runat="server" Text='<%# Bind("descrizione") %>' TextMode="MultiLine" Height="6em" Width="24em" />
<div class="divCenter" style="height: 36px;">
<div class="divSx third" style="padding: 2px 4px 2px 4px; margin: auto; text-align: center; height: 20px;">
<asp:Button runat="server" ID="btnInsert" Text="Salva" CssClass="btnVerde ui-corner-all shadowBox btnNew" CommandName="Insert"
CausesValidation="true" />
</div>
<div class="divDx third" style="padding: 2px 4px 2px 4px; margin: auto; text-align: center; height: 20px;">
<asp:Button runat="server" ID="btnInsertCancel" Text="Annulla" CssClass="btnRosso ui-corner-all shadowBox btnChiudi" CommandName="Cancel" />
</div>
</div>
</div>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<asp:ImageButton ID="imgDelete" runat="server" CausesValidation="False" CommandArgument='<%# Eval("idxRA") %>' CommandName="Delete"
ImageUrl="~/images/elimina_l.png" ToolTip='<%# traduci("Delete") %>' Visible='<%# enableFull %>' />
<asp:ConfirmButtonExtender ID="ConfirmButtonExtender1" runat="server" ConfirmText='<%# traduci("confermaDel")%>' TargetControlID="imgDelete"></asp:ConfirmButtonExtender>
</ItemTemplate>
<EditItemTemplate>
</EditItemTemplate>
<FooterTemplate>
</FooterTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:ObjectDataSource ID="odsRA" runat="server" OldValuesParameterFormatString="Original_{0}" SelectMethod="GetData" TypeName="GPW_data.DS_ApplicazioneTableAdapters.regAttDayExplTableAdapter"
DeleteMethod="deleteQuery" InsertMethod="insertQuery" OnInserted="odsRA_Inserted" UpdateMethod="updateQuery" OnUpdating="odsRA_Updating">
<DeleteParameters>
<asp:Parameter Name="Original_idxRA" Type="Int32" />
</DeleteParameters>
<SelectParameters>
<asp:SessionParameter Name="idxDipendente" SessionField="idxDipCurr" Type="Int32" />
<asp:SessionParameter Name="dataRif" SessionField="dataRif" Type="DateTime" />
</SelectParameters>
<InsertParameters>
<asp:SessionParameter DefaultValue="0" Name="idxDipendente" SessionField="idxDipendente" Type="Int32" />
<asp:Parameter Name="idxFase" Type="Int32" />
<asp:Parameter Name="inizio" Type="DateTime" />
<asp:Parameter Name="fine" Type="DateTime" />
<asp:Parameter Name="descrizione" Type="String" />
<asp:Parameter Name="importo" Type="Decimal" DefaultValue="0" />
</InsertParameters>
<UpdateParameters>
<asp:SessionParameter DefaultValue="0" Name="idxDipendente" SessionField="idxDipendente" Type="Int32" />
<asp:Parameter Name="idxFase" Type="Int32" />
<asp:Parameter Name="inizio" Type="DateTime" />
<asp:Parameter Name="fine" Type="DateTime" />
<asp:Parameter Name="descrizione" Type="String" />
<asp:Parameter Name="importo" Type="Decimal" DefaultValue="0" />
<asp:Parameter Name="Original_idxRA" Type="Int32" />
</UpdateParameters>
</asp:ObjectDataSource>
<asp:ObjectDataSource ID="odsProgetto" runat="server" SelectMethod="getGrouped" TypeName="GPW_data.DS_UtilityTableAdapters.v_selProgettiTableAdapter">
<SelectParameters>
<asp:Parameter DefaultValue="true" Name="soloAttivi" Type="Boolean" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:ObjectDataSource ID="odsFase" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="getByConditio"
TypeName="GPW_data.DS_UtilityTableAdapters.v_selFasiOptTableAdapter">
<SelectParameters>
<asp:SessionParameter SessionField="idxProjSel" DefaultValue="0" Name="conditio" Type="Int32" />
<asp:Parameter DefaultValue="false" Name="soloAttivi" Type="Boolean" />
</SelectParameters>
</asp:ObjectDataSource>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:ObjectDataSource ID="odsRA" runat="server" OldValuesParameterFormatString="Original_{0}" SelectMethod="GetData" TypeName="GPW_data.DS_ApplicazioneTableAdapters.regAttDayExplTableAdapter"
DeleteMethod="deleteQuery" InsertMethod="insertQuery" OnInserted="odsRA_Inserted" UpdateMethod="updateQuery" OnUpdating="odsRA_Updating">
<DeleteParameters>
<asp:Parameter Name="Original_idxRA" Type="Int32" />
</DeleteParameters>
<SelectParameters>
<asp:SessionParameter Name="idxDipendente" SessionField="idxDipCurr" Type="Int32" />
<asp:SessionParameter Name="dataRif" SessionField="dataRif" Type="DateTime" />
</SelectParameters>
<InsertParameters>
<asp:SessionParameter DefaultValue="0" Name="idxDipendente" SessionField="idxDipendente" Type="Int32" />
<asp:Parameter Name="idxFase" Type="Int32" />
<asp:Parameter Name="inizio" Type="DateTime" />
<asp:Parameter Name="fine" Type="DateTime" />
<asp:Parameter Name="descrizione" Type="String" />
<asp:Parameter Name="importo" Type="Decimal" DefaultValue="0" />
</InsertParameters>
<UpdateParameters>
<asp:SessionParameter DefaultValue="0" Name="idxDipendente" SessionField="idxDipendente" Type="Int32" />
<asp:Parameter Name="idxFase" Type="Int32" />
<asp:Parameter Name="inizio" Type="DateTime" />
<asp:Parameter Name="fine" Type="DateTime" />
<asp:Parameter Name="descrizione" Type="String" />
<asp:Parameter Name="importo" Type="Decimal" DefaultValue="0" />
<asp:Parameter Name="Original_idxRA" Type="Int32" />
</UpdateParameters>
</asp:ObjectDataSource>
<asp:ObjectDataSource ID="odsProgetto" runat="server" SelectMethod="getGrouped" TypeName="GPW_data.DS_UtilityTableAdapters.v_selProgettiTableAdapter">
<SelectParameters>
<asp:Parameter DefaultValue="true" Name="soloAttivi" Type="Boolean" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:ObjectDataSource ID="odsFase" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="getByConditio"
TypeName="GPW_data.DS_UtilityTableAdapters.v_selFasiOptTableAdapter">
<SelectParameters>
<asp:SessionParameter SessionField="idxProjSel" DefaultValue="0" Name="conditio" Type="Int32" />
<asp:Parameter DefaultValue="false" Name="soloAttivi" Type="Boolean" />
</SelectParameters>
</asp:ObjectDataSource>
</div>
</div>
</asp:Panel>
</asp:Panel>
@@ -1,86 +1,88 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// <generato automaticamente>
// Codice generato da uno strumento.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// Le modifiche a questo file possono causare un comportamento non corretto e verranno perse se
// il codice viene rigenerato.
// </generato automaticamente>
//------------------------------------------------------------------------------
namespace GPW_Admin.WebUserControls {
public partial class mod_commAttivitaDesk {
namespace GPW_Admin.WebUserControls
{
public partial class mod_commAttivitaDesk
{
/// <summary>
/// pnlAll control.
/// Controllo pnlAll.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Panel pnlAll;
/// <summary>
/// pnlHeader control.
/// Controllo pnlHeader.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Panel pnlHeader;
/// <summary>
/// lblTitle control.
/// Controllo lblTitle.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblTitle;
/// <summary>
/// imgBtnNew control.
/// Controllo imgBtnNew.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.ImageButton imgBtnNew;
/// <summary>
/// grView control.
/// Controllo grView.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.GridView grView;
/// <summary>
/// odsRA control.
/// Controllo odsRA.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource odsRA;
/// <summary>
/// odsProgetto control.
/// Controllo odsProgetto.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource odsProgetto;
/// <summary>
/// odsFase control.
/// Controllo odsFase.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource odsFase;
}
+16 -25
View File
@@ -1,27 +1,17 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="mod_elencoTimbr.ascx.cs" Inherits="GPW_Admin.WebUserControls.mod_elencoTimbr" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<% if (false)
{ %>
{ %>
<link href="~/css/Style.css" rel="stylesheet" type="text/css" />
<% } %>
<asp:GridView ID="grView" runat="server" DataSourceID="ods" AutoGenerateColumns="False" DataKeyNames="dataOra,idxDipendente"
CellPadding="4" ForeColor="#333333" GridLines="None" Font-Size="Smaller" Width="100%" OnRowDeleted="grView_RowDeleted"
OnRowUpdated="grView_RowUpdated">
<AlternatingRowStyle CssClass="alternatingRowStyle" />
<EditRowStyle CssClass="editRowStyle" />
<FooterStyle CssClass="footerStyle" ForeColor="White" />
<HeaderStyle CssClass="headerStyle" ForeColor="White" />
<PagerStyle CssClass="pagerStyle" ForeColor="White" />
<RowStyle CssClass="rowStyle" />
<SelectedRowStyle CssClass="selectedRowStyle" ForeColor="#333333" />
<SortedAscendingCellStyle CssClass="sortAscCell" />
<SortedAscendingHeaderStyle CssClass="sortAscHead" />
<SortedDescendingCellStyle CssClass="sortDescCell" />
<SortedDescendingHeaderStyle CssClass="sortDescHead" />
<asp:GridView ID="grView" runat="server" DataSourceID="ods" AutoGenerateColumns="False" DataKeyNames="dataOra,idxDipendente" CssClass="table table-sm table-striped" OnRowDeleted="grView_RowDeleted" OnRowUpdated="grView_RowUpdated">
<EditRowStyle CssClass="table-primary" />
<SelectedRowStyle CssClass="table-info" />
<HeaderStyle CssClass="default" />
<PagerStyle CssClass="active GridPager" />
<PagerSettings Mode="NumericFirstLast" />
<EmptyDataTemplate>
<div style="background-color: #ACACAC;">
Nessun record TIMBRATURA
</div>
Nessun record TIMBRATURA
</EmptyDataTemplate>
<Columns>
<asp:TemplateField ItemStyle-HorizontalAlign="Left">
@@ -52,8 +42,7 @@
<div style="margin: auto; text-align: center;">
<asp:ImageButton runat="server" ID="btnSwapInOut" ToolTip="Scambia In/Out" CommandName="Update" ImageUrl="~/images/InOutArrows_m.png" Visible='<%# userCanDelete(Eval("Approv")) %>' />
<asp:ConfirmButtonExtender ID="cbeSwapInOut" runat="server" ConfirmText="Procedo con scambio Entrata/Uscita della timbratura?"
TargetControlID="btnSwapInOut">
</asp:ConfirmButtonExtender>
TargetControlID="btnSwapInOut"></asp:ConfirmButtonExtender>
</div>
</ItemTemplate>
</asp:TemplateField>
@@ -71,12 +60,14 @@
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<div style="padding: 10px;">
<asp:LinkButton runat="server" ID="lbtDelete" CssClass="btn btn-sm btn-danger" CausesValidation="False" CommandName="Delete" ToolTip='<%# traduci("Delete") %>' Visible='<%# userCanDelete(Eval("Approv"))%>'><i class="fa fa-trash" aria-hidden="true"></i></asp:LinkButton>
<asp:ConfirmButtonExtender ID="cbeDelete" runat="server" ConfirmText='<%# traduci("confermaDel")%>' TargetControlID="lbtDelete"></asp:ConfirmButtonExtender>
<%--<div style="padding: 10px;">
<asp:LinkButton runat="server" ID="lbDelete" Text="Elimina" CommandArgument="Elimina" CommandName="Delete" CssClass="btnDelete btnRosso" Visible='<%# userCanDelete(Eval("Approv")) %>' />
<asp:ConfirmButtonExtender ID="cbeDelete" runat="server" ConfirmText="Sicuro di voler eliminare la timbratura? non è possibile annullare l'operazione."
TargetControlID="lbDelete">
</asp:ConfirmButtonExtender>
</div>
TargetControlID="lbDelete"></asp:ConfirmButtonExtender>
</div>--%>
</ItemTemplate>
</asp:TemplateField>
</Columns>
@@ -96,4 +87,4 @@
<asp:Parameter Name="Original_dataOra" Type="DateTime" />
<asp:Parameter Name="Original_idxDipendente" Type="Int32" />
</UpdateParameters>
</asp:ObjectDataSource>
</asp:ObjectDataSource>
+127 -99
View File
@@ -9,108 +9,29 @@ using SteamWare;
namespace GPW_Admin.WebUserControls
{
public partial class mod_elencoTimbr : System.Web.UI.UserControl
public partial class mod_elencoTimbr : BaseUserControl
{
protected void Page_Load(object sender, EventArgs e)
{
}
#region Public Events
/// <summary>
/// evento update valori
/// </summary>
public event EventHandler eh_nuovoValore;
/// <summary>
/// evento update righe
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void grView_RowUpdated(object sender, GridViewUpdatedEventArgs e)
{
grView.DataBind();
raiseUpdate();
}
private void raiseUpdate()
{
// sollevo evento nuovo valore...
if (eh_nuovoValore != null)
{
eh_nuovoValore(this, new EventArgs());
}
}
/// <summary>
/// evento cancellazione riga
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void grView_RowDeleted(object sender, GridViewDeletedEventArgs e)
{
grView.DataBind();
raiseUpdate();
}
/// <summary>
/// imposto ODS
/// </summary>
private void checkFixOds()
{
ods.DataBind();
grView.DataBind();
}
#endregion Public Events
#region Public Properties
public void doUpdate()
{
checkFixOds();
}
/// <summary>
/// calcola cognome-nome da idx
/// determina se sia visibile formato data estesa
/// </summary>
/// <param name="idxDip"></param>
/// <returns></returns>
public string cognomeNome(object idxDip)
{
string answ = "";
try
{
DS_Applicazione.DipendentiRow rigaDip = DataProxy.DP.taDipendenti.getByIdx(Convert.ToInt32(idxDip))[0];
answ = string.Format("{0} {1}", rigaDip.Cognome, rigaDip.Nome);
}
catch
{ }
return answ;
}
public bool showLongDateFormat { get; set; }
/// <summary>
/// inverte valore booleano
/// determina se sia visibile username
/// </summary>
/// <param name="isEnt"></param>
/// <returns></returns>
public bool invBool(object valore)
{
bool answ = true;
try
{
answ = !Convert.ToBoolean(valore);
}
catch
{ }
return answ;
}
/// <summary>
/// converte valore in booleano
/// </summary>
/// <param name="isEnt"></param>
/// <returns></returns>
public bool toBool(object valore)
{
bool answ = true;
try
{
answ = Convert.ToBoolean(valore);
}
catch
{ }
return answ;
}
public bool showUserName { get; set; }
/// <summary>
/// verifica se l'utente possa approvare la modifica oraria
/// </summary>
@@ -128,6 +49,120 @@ namespace GPW_Admin.WebUserControls
return answ;
}
}
#endregion Public Properties
#region Private Methods
/// <summary>
/// imposto ODS
/// </summary>
private void checkFixOds()
{
ods.DataBind();
grView.DataBind();
}
private void raiseUpdate()
{
// sollevo evento nuovo valore...
if (eh_nuovoValore != null)
{
eh_nuovoValore(this, new EventArgs());
}
}
#endregion Private Methods
#region Protected Methods
/// <summary>
/// evento cancellazione riga
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void grView_RowDeleted(object sender, GridViewDeletedEventArgs e)
{
grView.DataBind();
raiseUpdate();
}
/// <summary>
/// evento update righe
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void grView_RowUpdated(object sender, GridViewUpdatedEventArgs e)
{
grView.DataBind();
raiseUpdate();
}
protected void Page_Load(object sender, EventArgs e)
{
}
#endregion Protected Methods
#region Public Methods
/// <summary>
/// calcola cognome-nome da idx
/// </summary>
/// <param name="idxDip"></param>
/// <returns></returns>
public string cognomeNome(object idxDip)
{
string answ = "";
try
{
DS_Applicazione.DipendentiRow rigaDip = DataProxy.DP.taDipendenti.getByIdx(Convert.ToInt32(idxDip))[0];
answ = string.Format("{0} {1}", rigaDip.Cognome, rigaDip.Nome);
}
catch
{ }
return answ;
}
public void doUpdate()
{
checkFixOds();
}
/// <summary>
/// inverte valore booleano
/// </summary>
/// <param name="isEnt"></param>
/// <returns></returns>
public bool invBool(object valore)
{
bool answ = true;
try
{
answ = !Convert.ToBoolean(valore);
}
catch
{ }
return answ;
}
/// <summary>
/// converte valore in booleano
/// </summary>
/// <param name="isEnt"></param>
/// <returns></returns>
public bool toBool(object valore)
{
bool answ = true;
try
{
answ = Convert.ToBoolean(valore);
}
catch
{ }
return answ;
}
/// <summary>
/// verifica se l'utente possa eliminare il record:
/// - se non approvato
@@ -143,16 +178,9 @@ namespace GPW_Admin.WebUserControls
catch
{ }
return answ;
}
/// <summary>
/// determina se sia visibile username
/// </summary>
public bool showUserName { get; set; }
}
#endregion Public Methods
/// <summary>
/// determina se sia visibile formato data estesa
/// </summary>
public bool showLongDateFormat { get; set; }
}
}
@@ -1,34 +1,32 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="mod_reviewTimbrature.ascx.cs" Inherits="GPW_Admin.WebUserControls.mod_reviewTimbrature" %>
<%@ Register Src="mod_filtro.ascx" TagName="mod_filtro" TagPrefix="uc1" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<%@ Register Src="mod_periodoAnalisi.ascx" TagName="mod_periodoAnalisi" TagPrefix="uc2" %>
<%@ Register Src="mod_elencoTimbr.ascx" TagName="mod_elencoTimbr" TagPrefix="uc3" %>
<%@ Register Src="mod_commAttivitaDesk.ascx" TagName="mod_commAttivitaDesk" TagPrefix="uc4" %>
<%@ Register Src="~/WebUserControls/cmp_periodoAnalisi.ascx" TagPrefix="uc1" TagName="cmp_periodoAnalisi" %>
<div class="filtro_1" style="height: 28px; padding: 2px;">
<div class="divSx fontPiccolo">
<div class="divSx">
<uc1:mod_filtro ID="filtroDip" runat="server" filterUnchekText="mostraTutti" filterChekText="filtraDip" changeCheckEnabled="false"
changeCheckVisible="false" />
<asp:ObjectDataSource ID="odsDip" runat="server" OldValuesParameterFormatString="Original_{0}" SelectMethod="getAttivi" TypeName="GPW_data.DS_UtilityTableAdapters.v_selDipendentiTableAdapter"></asp:ObjectDataSource>
</div>
<div class="divSx">
<uc2:mod_periodoAnalisi ID="mod_periodoAnalisi1" runat="server" />
</div>
<div class="divSx">
<asp:CheckBox runat="server" ID="chkWE" Text="Week-End" Checked="true" OnCheckedChanged="chkWE_CheckedChanged" AutoPostBack="True" />
</div>
<div class="divSx">
<asp:Button runat="server" ID="btnRicalcPeriodo" Text="&Sigma;(h)" Font-Size="Medium" OnClick="btnRicalcPeriodo_Click" ToolTip="Ricalcola valori" />
</div>
<div class="row table-secondary">
<div class="col-2">
<uc1:mod_filtro ID="filtroDip" runat="server" filterUnchekText="mostraTutti" filterChekText="filtraDip" changeCheckEnabled="false"
changeCheckVisible="false" />
<asp:ObjectDataSource ID="odsDip" runat="server" OldValuesParameterFormatString="Original_{0}" SelectMethod="getAttivi" TypeName="GPW_data.DS_UtilityTableAdapters.v_selDipendentiTableAdapter"></asp:ObjectDataSource>
</div>
<div class="divDx" style="padding-top: 4px;">
<asp:HyperLink Target="_blank" runat="server" ID="hlExport" CssClass="btnExportCSV" Text="Export Ore" NavigateUrl="~/ExportTimbZucchetti.aspx" />
<asp:HyperLink Target="_blank" runat="server" ID="hlExportComm" CssClass="btnExportCSV" Text="Export Comm." NavigateUrl="~/ExportCommesse.aspx" />
<div class="col-6">
<uc1:cmp_periodoAnalisi runat="server" ID="cmp_periodoAnalisi" />
</div>
<div class="col-1">
<asp:CheckBox runat="server" ID="chkWE" Text="Week-End" Checked="true" OnCheckedChanged="chkWE_CheckedChanged" AutoPostBack="True" />
</div>
<div class="col-1">
<asp:Button runat="server" ID="btnRicalcPeriodo" Text="&Sigma;(h)" Font-Size="Medium" OnClick="btnRicalcPeriodo_Click" ToolTip="Ricalcola valori" />
</div>
<div class="col-2 text-right">
<asp:HyperLink Target="_blank" runat="server" ID="hlExport" CssClass="btn btn-sm btn-info" Text="Export Ore" NavigateUrl="~/ExportTimbZucchetti.aspx" />
<asp:HyperLink Target="_blank" runat="server" ID="hlExportComm" CssClass="btn btn-sm btn-primary" Text="Export Comm." NavigateUrl="~/ExportCommesse.aspx" />
</div>
</div>
<div class="clearDiv">
<div class="divSx">
<div class="row">
<div class="col-8">
<asp:GridView ID="grViewExpl" runat="server" AllowPaging="True" DataSourceID="odsExpl" AutoGenerateColumns="False" DataKeyNames="dataLav,idxDipendente"
CssClass="table table-striped table-condensed table-sm small" OnSelectedIndexChanged="grViewExpl_SelectedIndexChanged">
<EditRowStyle CssClass="bg-info" />
@@ -38,23 +36,19 @@
Nessun record trovato
</EmptyDataTemplate>
<Columns>
<asp:TemplateField ShowHeader="False">
<asp:TemplateField ShowHeader="False" HeaderStyle-Width="1em" ItemStyle-Width="1em">
<ItemTemplate>
<asp:ImageButton ID="imgSelect" runat="server" CausesValidation="False" CommandName="Select" ImageUrl="~/images/view_s.png"
ToolTip="Mostra timbrature" />
<asp:LinkButton runat="server" ID="lbtSelect" CssClass="btn btn-sm btn-info" CausesValidation="False" CommandName="Select" ToolTip='<%# traduci("Select") %>'><i class="fa fa-search" aria-hidden="true"></i></asp:LinkButton>
</ItemTemplate>
<HeaderTemplate>
<asp:ImageButton ID="imgBtnReset" runat="server" CausesValidation="False" ImageUrl="~/images/reload_m.png" OnClick="btnReset_Click"
ToolTip="reset" Visible="true" />
<asp:LinkButton ID="lbtReset" runat="server" CssClass="btn btn-sm btn-info" ToolTip='<%# traduci("Reset") %>' CausesValidation="False" OnClick="btnReset_Click" Visible="true"><i class="fa fa-refresh" aria-hidden="true"></i></asp:LinkButton>
</HeaderTemplate>
<ItemStyle HorizontalAlign="Center" Wrap="False" />
</asp:TemplateField>
<asp:TemplateField HeaderText="dip" SortExpression="CognomeNome">
<ItemTemplate>
<asp:Label ID="lblDip" runat="server" Text='<%# Eval("idxDipendente","{0:00}") %>' ToolTip='<%# Eval("CognomeNome") %>' Font-Size="X-Small"
ForeColor="Blue" Visible='<%# !showCognomeNome %>' />
<asp:Label ID="Label2" runat="server" Text='<%# Eval("CognomeNome") %>' ToolTip='<%# Eval("idxDipendente","{0:00}") %>' Font-Size="X-Small"
ForeColor="Blue" Visible='<%# showCognomeNome %>' />
<asp:Label ID="lblDip" runat="server" Text='<%# Eval("idxDipendente","{0:00}") %>' ToolTip='<%# Eval("CognomeNome") %>' CssClass="text-info" Visible='<%# !showCognomeNome %>' />
<asp:Label ID="Label2" runat="server" Text='<%# Eval("CognomeNome") %>' ToolTip='<%# Eval("idxDipendente","{0:00}") %>' CssClass="text-info" Visible='<%# showCognomeNome %>' />
</ItemTemplate>
<ItemStyle HorizontalAlign="left" Wrap="False" Width="1.5em"></ItemStyle>
</asp:TemplateField>
@@ -127,7 +121,7 @@
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" Wrap="False" Width="4em"></ItemStyle>
</asp:TemplateField>
<asp:TemplateField ItemStyle-CssClass="text-nowrap">
<asp:TemplateField ItemStyle-CssClass="text-nowrap" HeaderStyle-Width="2em" ItemStyle-Width="2em">
<HeaderTemplate>
<div class="text-center">
<i runat="server" class="fa fa-thermometer-empty text-secondary" aria-hidden="true"></i><i class="fa fa-user-o" aria-hidden="true"></i>
@@ -178,29 +172,23 @@
</SelectParameters>
</asp:ObjectDataSource>
</div>
<div class="divSx fontPiccolo">
<div class="col-4 small">
<asp:Panel runat="server" ID="pnlDettagli">
<div id="accordion">
<h3>Timbrature e Giustificativi</h3>
<div>
<div class="dataBlock blockSizeXXLarge divSx">
<div class="row">
<div class="col-12">
<h3>Timbrature e Giustificativi</h3>
<uc3:mod_elencoTimbr ID="mod_elencoTimbr1" runat="server" showUserName="false" showLongDateFormat="true" />
<hr />
<asp:GridView ID="grViewGiust" runat="server" DataSourceID="odsGiust" AutoGenerateColumns="False" DataKeyNames="dataLav,idxDipendente,codGiust"
CellPadding="4" ForeColor="#333333" GridLines="None" Font-Size="Smaller" Width="100%" Visible="False">
<AlternatingRowStyle CssClass="alternatingRowStyleGreen" />
<EditRowStyle CssClass="editRowStyleGreen" />
<FooterStyle CssClass="footerStyleGreen" ForeColor="White" />
<HeaderStyle CssClass="headerStyleGreen" ForeColor="White" />
<PagerStyle CssClass="pagerStyleGreen" ForeColor="White" />
<RowStyle CssClass="rowStyleGreen" />
<SelectedRowStyle CssClass="selectedRowStyleGreen" ForeColor="#333333" />
<SortedAscendingCellStyle CssClass="sortAscCellGreen" />
<SortedAscendingHeaderStyle CssClass="sortAscHeadGreen" />
<SortedDescendingCellStyle CssClass="sortDescCellGreen" />
<SortedDescendingHeaderStyle CssClass="sortDescHeadGreen" />
CssClass="table table-sm table-striped" Visible="False">
<EditRowStyle CssClass="table-primary" />
<SelectedRowStyle CssClass="table-info" />
<HeaderStyle CssClass="default" />
<PagerStyle CssClass="active GridPager" />
<PagerSettings Mode="NumericFirstLast" />
<EmptyDataTemplate>
<div style="background-color: #ACACAC;">
<div>
Nessun GIUSTIFICATIVO attivo:
<br />
<asp:Button runat="server" ID="btNewGiust" Text="Aggiungi" OnClick="btNewGiust_Click" Visible='<%# userCanApprove %>' />
@@ -316,17 +304,14 @@
<asp:Parameter Name="minuti" Type="Int32" />
</UpdateParameters>
</asp:ObjectDataSource>
<asp:ObjectDataSource ID="odsCodGiust" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData"
TypeName="GPW_data.DS_UtilityTableAdapters.v_selCodGiustTableAdapter"></asp:ObjectDataSource>
<asp:ObjectDataSource ID="odsCodGiust" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" TypeName="GPW_data.DS_UtilityTableAdapters.v_selCodGiustTableAdapter"></asp:ObjectDataSource>
</div>
</div>
<h3>Record Commesse</h3>
<div>
<div class="dataBlock blockSizeXXLarge divSx">
<uc4:mod_commAttivitaDesk ID="mod_commAttivitaDesk1" runat="server" enableFull="false" />
<div class="col-12">
<h3>Record Commesse</h3>
<uc4:mod_commAttivitaDesk ID="mod_commAttivitaDesk1" runat="server" />
</div>
</div>
</div>
</asp:Panel>
</div>
</div>
</div>
@@ -14,36 +14,8 @@ namespace GPW_Admin.WebUserControls
{
public partial class mod_reviewTimbrature : BaseUserControl
{
#region Protected Properties
/// <summary>
/// caricamento pagina
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
grViewExpl.PageSize = utils.pageSize;
if (!Page.IsPostBack)
{
// imposto intervallo date...1 mese...
intervalloDate date = new intervalloDate();
date.fine = DateTime.Now.Date.AddDays(1);
date.inizio = date.fine.AddMonths(-1);
mod_periodoAnalisi1.intervalloAnalisi = date;
// altri fix
filtroDip.ods = odsDip;
memLayer.ML.emptySessionVal("idxDip_sel");
memLayer.ML.setSessionVal("maxErrMin", memLayer.ML.confReadInt("maxErrMin"));
memLayer.ML.setSessionVal("maxErrPlus", memLayer.ML.confReadInt("maxErrPlus"));
filtroDip.reselFirst();
setDetailVisib(false);
// determino visibilità link export...
hlExport.Visible = memLayer.ML.cdvb("ExportORE_SPS");
hlExportComm.Visible = memLayer.ML.cdvb("ExportCommesse");
}
filtroDip.eh_selValore += new EventHandler(filtroDip_eh_selValore);
mod_elencoTimbr1.eh_nuovoValore += new EventHandler(mod_elencoTimbr1_eh_nuovoValore);
}
/// <summary>
/// valore selezionato x dettaglio giornaliero utente
/// </summary>
@@ -66,65 +38,6 @@ namespace GPW_Admin.WebUserControls
}
}
void mod_elencoTimbr1_eh_nuovoValore(object sender, EventArgs e)
{
checkFixOds();
}
/// <summary>
/// seleziono
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void filtroDip_eh_selValore(object sender, EventArgs e)
{
// imposto ods
grViewExpl.SelectedIndex = -1;
setDetailVisib(false);
checkFixOds();
}
/// <summary>
/// imposto ODS
/// </summary>
private void checkFixOds()
{
memLayer.ML.setSessionVal("idxDip_sel", filtroDip.valoreInt);
grViewExpl.DataBind();
mod_elencoTimbr1.doUpdate();
}
/// <summary>
/// calcola cognome-nome da idx
/// </summary>
/// <param name="idxDip"></param>
/// <returns></returns>
public string cognomeNome(object idxDip)
{
string answ = "";
try
{
DS_Applicazione.DipendentiRow rigaDip = DataProxy.DP.taDipendenti.getByIdx(Convert.ToInt32(idxDip))[0];
answ = string.Format("{0} {1}", rigaDip.Cognome, rigaDip.Nome);
}
catch
{ }
return answ;
}
/// <summary>
/// verifica se l'utente possa approvare la modifica oraria
/// </summary>
public bool userCanApprove
{
get
{
bool answ = false;
try
{
answ = user_std.UtSn.userHasRight("GPW_admin");
}
catch
{ }
return answ;
}
}
/// <summary>
/// idx dipendente loggato
/// </summary>
@@ -142,38 +55,192 @@ namespace GPW_Admin.WebUserControls
return idx;
}
}
#endregion Protected Properties
#region Public Properties
/// <summary>
/// inverte valore booleano
/// determina se si debba mostrare cognome nome (altrimenti IDX anonimo)
/// </summary>
/// <param name="isEnt"></param>
/// <returns></returns>
public bool invBool(object valore)
public bool showCognomeNome
{
bool answ = true;
try
get
{
answ = !Convert.ToBoolean(valore);
return memLayer.ML.confReadBool("reviewShowCN");
}
catch
{ }
return answ;
}
/// <summary>
/// converte valore in booleano
/// verifica se l'utente possa approvare la modifica oraria
/// </summary>
/// <param name="isEnt"></param>
/// <returns></returns>
public bool toBool(object valore)
public bool userCanApprove
{
bool answ = true;
try
get
{
answ = Convert.ToBoolean(valore);
bool answ = false;
try
{
answ = user_std.UtSn.userHasRight("GPW_admin");
}
catch
{ }
return answ;
}
catch
{ }
return answ;
}
#endregion Public Properties
#region Private Methods
/// <summary>
/// imposto ODS
/// </summary>
private void checkFixOds()
{
memLayer.ML.setSessionVal("idxDip_sel", filtroDip.valoreInt);
grViewExpl.DataBind();
mod_elencoTimbr1.doUpdate();
}
/// <summary>
/// seleziono
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void filtroDip_eh_selValore(object sender, EventArgs e)
{
// imposto ods
grViewExpl.SelectedIndex = -1;
setDetailVisib(false);
checkFixOds();
}
private void mod_elencoTimbr1_eh_nuovoValore(object sender, EventArgs e)
{
checkFixOds();
}
/// <summary>
/// set visibilità grView dettagli
/// </summary>
/// <param name="value"></param>
private void setDetailVisib(bool value)
{
pnlDettagli.Visible = value;
//mod_elencoTimbr1.Visible = value;
grViewGiust.Visible = value;
}
/// <summary>
/// aggiorna i 3 datagrid
/// </summary>
private void updateVisual()
{
// aggiorno visualizzazioni
grViewExpl.DataBind();
mod_elencoTimbr1.doUpdate();
grViewGiust.DataBind();
}
#endregion Private Methods
#region Protected Methods
/// <summary>
/// inserisce un giust nuovo x dipendente/data
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btNewGiust_Click(object sender, EventArgs e)
{
int idxDip = memLayer.ML.IntSessionObj("idxDip_det");
// calcola ed inserisce giustificativi
DataProxy.DP.taGiust.giustInsByDate(idxDip, dataRif, "PERM");
updateVisual();
}
/// <summary>
/// gestione evento richiesta nuovo valore (mostra footer, ...)
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnNew_Click(object sender, EventArgs e)
{
// reset selezione...
resetSelezioneGiust();
int idxDip = memLayer.ML.IntSessionObj("idxDip_det");
// calcola ed inserisce giustificativi
DataProxy.DP.taGiust.giustInsByDate(idxDip, dataRif, "PERM");
updateVisual();
}
/// <summary>
/// reset della selezione
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnReset_Click(object sender, EventArgs e)
{
resetSelezione();
}
/// <summary>
/// reset della selezione
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnResetGiust_Click(object sender, EventArgs e)
{
resetSelezioneGiust();
}
/// <summary>
/// ricalcola giornate periodo visualizzato per i dipendenti selezionati
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnRicalcPeriodo_Click(object sender, EventArgs e)
{
// eseguo la stored di update dato condizione di filtro x periodo e dipendente...
DataProxy.DP.taTimbExpl.stp_ricalcolaTimbExpl_byPeriodoUser(memLayer.ML.IntSessionObj("idxDip_sel"), Convert.ToDateTime(memLayer.ML.objSessionObj("_inizio")), Convert.ToDateTime(memLayer.ML.objSessionObj("_fine")));
DataProxy.DP.taRA.stp_ricalcolaRegAttivitaExpl_byPeriodoUser(memLayer.ML.IntSessionObj("idxDip_sel"), Convert.ToDateTime(memLayer.ML.objSessionObj("_inizio")), Convert.ToDateTime(memLayer.ML.objSessionObj("_fine")));
// aggiorno
checkFixOds();
}
/// <summary>
/// cambia stato visibilità week-end...
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void chkWE_CheckedChanged(object sender, EventArgs e)
{
// imposto ods
checkFixOds();
}
/// <summary>
/// evento cancellazione riga
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void grView_RowDeleted(object sender, GridViewDeletedEventArgs e)
{
grViewExpl.DataBind();
}
/// <summary>
/// evento update righe
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void grView_RowUpdated(object sender, GridViewUpdatedEventArgs e)
{
grViewExpl.DataBind();
}
/// <summary>
/// mostro visualizzazione dati di dettaglio!
/// </summary>
@@ -199,54 +266,89 @@ namespace GPW_Admin.WebUserControls
grViewExpl.DataBind();
}
/// <summary>
/// set visibilità grView dettagli
/// </summary>
/// <param name="value"></param>
private void setDetailVisib(bool value)
{
pnlDettagli.Visible = value;
//mod_elencoTimbr1.Visible = value;
grViewGiust.Visible = value;
}
/// <summary>
/// reset della selezione
/// annulla inserimento nuovo valore da footer
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnReset_Click(object sender, EventArgs e)
protected void lblCanc_click(object sender, EventArgs e)
{
resetSelezione();
// annullo inserimento: nascondo footer, bind controlli...
grViewGiust.FooterRow.Visible = false;
}
/// <summary>
/// resetta la selezione dei valori in caso di modifiche su altri controlli
/// </summary>
public void resetSelezione()
{
grViewExpl.SelectedIndex = -1;
grViewExpl.DataBind();
setDetailVisib(false);
}
/// <summary>
/// evento update righe
/// inserisce nuovo valore da footer
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void grView_RowUpdated(object sender, GridViewUpdatedEventArgs e)
protected void lblIns_click(object sender, EventArgs e)
{
grViewExpl.DataBind();
// click su inserimento, chiamo il metodo insert dell'ObjectDataSource
odsGiust.Insert();
}
/// <summary>
/// evento cancellazione riga
/// aggiornamento x delete
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void grView_RowDeleted(object sender, GridViewDeletedEventArgs e)
protected void odsGiust_Deleted(object sender, ObjectDataSourceStatusEventArgs e)
{
grViewExpl.DataBind();
updateVisual();
}
protected void odsGiust_Inserting(object sender, ObjectDataSourceMethodEventArgs e)
{
}
/// <summary>
///
/// aggiornamento x update
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void odsGiust_Updated(object sender, ObjectDataSourceStatusEventArgs e)
{
updateVisual();
}
/// <summary>
/// caricamento pagina
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
grViewExpl.PageSize = utils.pageSize;
if (!Page.IsPostBack)
{
// imposto intervallo date...1 mese...
intervalloDate date = new intervalloDate();
date.fine = DateTime.Now.Date.AddDays(1);
date.inizio = date.fine.AddMonths(-1);
cmp_periodoAnalisi.intervalloAnalisi = date;
// altri fix
filtroDip.ods = odsDip;
memLayer.ML.emptySessionVal("idxDip_sel");
memLayer.ML.setSessionVal("maxErrMin", memLayer.ML.confReadInt("maxErrMin"));
memLayer.ML.setSessionVal("maxErrPlus", memLayer.ML.confReadInt("maxErrPlus"));
filtroDip.reselFirst();
setDetailVisib(false);
// determino visibilità link export...
hlExport.Visible = memLayer.ML.cdvb("ExportORE_SPS");
hlExportComm.Visible = memLayer.ML.cdvb("ExportCommesse");
}
filtroDip.eh_selValore += new EventHandler(filtroDip_eh_selValore);
mod_elencoTimbr1.eh_nuovoValore += new EventHandler(mod_elencoTimbr1_eh_nuovoValore);
}
#endregion Protected Methods
#region Public Methods
/// <summary>
///
/// </summary>
/// <param name="minutiNonLav"></param>
/// <returns></returns>
@@ -264,169 +366,25 @@ namespace GPW_Admin.WebUserControls
{ }
return answ;
}
/// <summary>
/// prepara tooltip permessi/straordinarie
/// calcola cognome-nome da idx
/// </summary>
/// <param name="minStra"></param>
/// <param name="minPerm"></param>
/// <param name="minPP"></param>
/// <param name="idxDip"></param>
/// <returns></returns>
public string tooltipPermStra(object minStra, object minPerm, object minMpp)
public string cognomeNome(object idxDip)
{
string answ = "";
try
{
answ = string.Format("Straordinarie: {0:0.##} min, Permessi: {1:0.##} min", minStra, minPerm);
if (Convert.ToInt32(minMpp) > 0)
{
answ += string.Format(", Pranzo: {0:0.##} min", minMpp);
}
DS_Applicazione.DipendentiRow rigaDip = DataProxy.DP.taDipendenti.getByIdx(Convert.ToInt32(idxDip))[0];
answ = string.Format("{0} {1}", rigaDip.Cognome, rigaDip.Nome);
}
catch
{ }
return answ;
}
#region editing giustificativi
/// <summary>
/// resetta la selezione dei valori in caso di modifiche su altri controlli
/// </summary>
public void resetSelezioneGiust()
{
grViewGiust.SelectedIndex = -1;
grViewGiust.DataBind();
}
/// <summary>
/// reset della selezione
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnResetGiust_Click(object sender, EventArgs e)
{
resetSelezioneGiust();
}
/// <summary>
/// gestione evento richiesta nuovo valore (mostra footer, ...)
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnNew_Click(object sender, EventArgs e)
{
// reset selezione...
resetSelezioneGiust();
int idxDip = memLayer.ML.IntSessionObj("idxDip_det");
// calcola ed inserisce giustificativi
DataProxy.DP.taGiust.giustInsByDate(idxDip, dataRif, "PERM");
updateVisual();
}
/// <summary>
/// inserisce nuovo valore da footer
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lblIns_click(object sender, EventArgs e)
{
// click su inserimento, chiamo il metodo insert dell'ObjectDataSource
odsGiust.Insert();
}
/// <summary>
/// annulla inserimento nuovo valore da footer
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lblCanc_click(object sender, EventArgs e)
{
// annullo inserimento: nascondo footer, bind controlli...
grViewGiust.FooterRow.Visible = false;
}
/// <summary>
/// inserisce un giust nuovo x dipendente/data
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btNewGiust_Click(object sender, EventArgs e)
{
int idxDip = memLayer.ML.IntSessionObj("idxDip_det");
// calcola ed inserisce giustificativi
DataProxy.DP.taGiust.giustInsByDate(idxDip, dataRif, "PERM");
updateVisual();
}
/// <summary>
/// aggiorna i 3 datagrid
/// </summary>
private void updateVisual()
{
// aggiorno visualizzazioni
grViewExpl.DataBind();
mod_elencoTimbr1.doUpdate();
grViewGiust.DataBind();
}
/// <summary>
/// aggiornamento x update
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void odsGiust_Updated(object sender, ObjectDataSourceStatusEventArgs e)
{
updateVisual();
}
/// <summary>
/// aggiornamento x delete
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void odsGiust_Deleted(object sender, ObjectDataSourceStatusEventArgs e)
{
updateVisual();
}
/// <summary>
/// calcola se sia visibile con criterio GREATER THAN ZERO
/// </summary>
/// <param name="valore"></param>
/// <returns></returns>
public bool isGTZ(object valore)
{
bool answ = false;
try
{
if (Convert.ToDouble(valore) > 0)
{
answ = true;
}
}
catch
{ }
return answ;
}
#endregion
/// <summary>
/// cambia stato visibilità week-end...
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void chkWE_CheckedChanged(object sender, EventArgs e)
{
// imposto ods
checkFixOds();
}
/// <summary>
/// ricalcola giornate periodo visualizzato per i dipendenti selezionati
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnRicalcPeriodo_Click(object sender, EventArgs e)
{
// eseguo la stored di update dato condizione di filtro x periodo e dipendente...
DataProxy.DP.taTimbExpl.stp_ricalcolaTimbExpl_byPeriodoUser(memLayer.ML.IntSessionObj("idxDip_sel"), Convert.ToDateTime(memLayer.ML.objSessionObj("_inizio")), Convert.ToDateTime(memLayer.ML.objSessionObj("_fine")));
DataProxy.DP.taRA.stp_ricalcolaRegAttivitaExpl_byPeriodoUser(memLayer.ML.IntSessionObj("idxDip_sel"), Convert.ToDateTime(memLayer.ML.objSessionObj("_inizio")), Convert.ToDateTime(memLayer.ML.objSessionObj("_fine")));
// aggiorno
checkFixOds();
}
/// <summary>
/// restituisce il colore data valore ok commessa
/// </summary>
@@ -446,6 +404,7 @@ namespace GPW_Admin.WebUserControls
{ }
return answ;
}
/// <summary>
/// restituisce il colore dato minMpp (se > 0 è verde, altrimenti marrone)
/// </summary>
@@ -468,16 +427,7 @@ namespace GPW_Admin.WebUserControls
}
return answ;
}
/// <summary>
/// determina se si debba mostrare cognome nome (altrimenti IDX anonimo)
/// </summary>
public bool showCognomeNome
{
get
{
return memLayer.ML.confReadBool("reviewShowCN");
}
}
/// <summary>
/// formatta la durata in ore secondo web.config (centesimale/ore:min)
/// </summary>
@@ -505,9 +455,102 @@ namespace GPW_Admin.WebUserControls
return answ;
}
protected void odsGiust_Inserting(object sender, ObjectDataSourceMethodEventArgs e)
/// <summary>
/// inverte valore booleano
/// </summary>
/// <param name="isEnt"></param>
/// <returns></returns>
public bool invBool(object valore)
{
bool answ = true;
try
{
answ = !Convert.ToBoolean(valore);
}
catch
{ }
return answ;
}
/// <summary>
/// calcola se sia visibile con criterio GREATER THAN ZERO
/// </summary>
/// <param name="valore"></param>
/// <returns></returns>
public bool isGTZ(object valore)
{
bool answ = false;
try
{
if (Convert.ToDouble(valore) > 0)
{
answ = true;
}
}
catch
{ }
return answ;
}
/// <summary>
/// resetta la selezione dei valori in caso di modifiche su altri controlli
/// </summary>
public void resetSelezione()
{
grViewExpl.SelectedIndex = -1;
grViewExpl.DataBind();
setDetailVisib(false);
}
/// <summary>
/// resetta la selezione dei valori in caso di modifiche su altri controlli
/// </summary>
public void resetSelezioneGiust()
{
grViewGiust.SelectedIndex = -1;
grViewGiust.DataBind();
}
/// <summary>
/// converte valore in booleano
/// </summary>
/// <param name="isEnt"></param>
/// <returns></returns>
public bool toBool(object valore)
{
bool answ = true;
try
{
answ = Convert.ToBoolean(valore);
}
catch
{ }
return answ;
}
/// <summary>
/// prepara tooltip permessi/straordinarie
/// </summary>
/// <param name="minStra"></param>
/// <param name="minPerm"></param>
/// <param name="minPP"></param>
/// <returns></returns>
public string tooltipPermStra(object minStra, object minPerm, object minMpp)
{
string answ = "";
try
{
answ = string.Format("Straordinarie: {0:0.##} min, Permessi: {1:0.##} min", minStra, minPerm);
if (Convert.ToInt32(minMpp) > 0)
{
answ += string.Format(", Pranzo: {0:0.##} min", minMpp);
}
}
catch
{ }
return answ;
}
#endregion Public Methods
}
}
@@ -7,11 +7,13 @@
// </generato automaticamente>
//------------------------------------------------------------------------------
namespace GPW_Admin.WebUserControls {
public partial class mod_reviewTimbrature {
namespace GPW_Admin.WebUserControls
{
public partial class mod_reviewTimbrature
{
/// <summary>
/// Controllo filtroDip.
/// </summary>
@@ -20,7 +22,7 @@ namespace GPW_Admin.WebUserControls {
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::mod_filtro filtroDip;
/// <summary>
/// Controllo odsDip.
/// </summary>
@@ -29,16 +31,16 @@ namespace GPW_Admin.WebUserControls {
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource odsDip;
/// <summary>
/// Controllo mod_periodoAnalisi1.
/// Controllo cmp_periodoAnalisi.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::mod_periodoAnalisi mod_periodoAnalisi1;
protected global::GPW_Admin.WebUserControls.cmp_periodoAnalisi cmp_periodoAnalisi;
/// <summary>
/// Controllo chkWE.
/// </summary>
@@ -47,7 +49,7 @@ namespace GPW_Admin.WebUserControls {
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.CheckBox chkWE;
/// <summary>
/// Controllo btnRicalcPeriodo.
/// </summary>
@@ -56,7 +58,7 @@ namespace GPW_Admin.WebUserControls {
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Button btnRicalcPeriodo;
/// <summary>
/// Controllo hlExport.
/// </summary>
@@ -65,7 +67,7 @@ namespace GPW_Admin.WebUserControls {
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.HyperLink hlExport;
/// <summary>
/// Controllo hlExportComm.
/// </summary>
@@ -74,7 +76,7 @@ namespace GPW_Admin.WebUserControls {
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.HyperLink hlExportComm;
/// <summary>
/// Controllo grViewExpl.
/// </summary>
@@ -83,7 +85,7 @@ namespace GPW_Admin.WebUserControls {
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.GridView grViewExpl;
/// <summary>
/// Controllo odsExpl.
/// </summary>
@@ -92,7 +94,7 @@ namespace GPW_Admin.WebUserControls {
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource odsExpl;
/// <summary>
/// Controllo pnlDettagli.
/// </summary>
@@ -101,7 +103,7 @@ namespace GPW_Admin.WebUserControls {
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Panel pnlDettagli;
/// <summary>
/// Controllo mod_elencoTimbr1.
/// </summary>
@@ -110,7 +112,7 @@ namespace GPW_Admin.WebUserControls {
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::GPW_Admin.WebUserControls.mod_elencoTimbr mod_elencoTimbr1;
/// <summary>
/// Controllo grViewGiust.
/// </summary>
@@ -119,7 +121,7 @@ namespace GPW_Admin.WebUserControls {
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.GridView grViewGiust;
/// <summary>
/// Controllo odsGiust.
/// </summary>
@@ -128,7 +130,7 @@ namespace GPW_Admin.WebUserControls {
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource odsGiust;
/// <summary>
/// Controllo odsCodGiust.
/// </summary>
@@ -137,7 +139,7 @@ namespace GPW_Admin.WebUserControls {
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource odsCodGiust;
/// <summary>
/// Controllo mod_commAttivitaDesk1.
/// </summary>
+4 -3
View File
@@ -1,5 +1,6 @@
<%@ Page Title="GPW-ADM"Language="C#" MasterPageFile="~/WebMasterPages/AjaxTitle.master" AutoEventWireup="true" CodeBehind="reviewTimbrature.aspx.cs" Inherits="GPW_Admin.reviewTimbrature" %>
<%@ Register src="~/WebUserControls/mod_reviewTimbrature.ascx" tagname="mod_reviewTimbrature" tagprefix="uc1" %>
<%@ Page Title="GPW-ADM" Language="C#" MasterPageFile="~/WebMasterPages/BMP.master" AutoEventWireup="true" CodeBehind="reviewTimbrature.aspx.cs" Inherits="GPW_Admin.reviewTimbrature" %>
<%@ Register Src="~/WebUserControls/mod_reviewTimbrature.ascx" TagName="mod_reviewTimbrature" TagPrefix="uc1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="cph1" runat="server">
<uc1:mod_reviewTimbrature ID="mod_reviewTimbrature1" runat="server" />
</asp:Content>
</asp:Content>
+15 -13
View File
@@ -1,23 +1,25 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// <generato automaticamente>
// Codice generato da uno strumento.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// Le modifiche a questo file possono causare un comportamento non corretto e verranno perse se
// il codice viene rigenerato.
// </generato automaticamente>
//------------------------------------------------------------------------------
namespace GPW_Admin {
public partial class reviewTimbrature {
namespace GPW_Admin
{
public partial class reviewTimbrature
{
/// <summary>
/// mod_reviewTimbrature1 control.
/// Controllo mod_reviewTimbrature1.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::GPW_Admin.WebUserControls.mod_reviewTimbrature mod_reviewTimbrature1;
}