From 3f8f96a4cae6e728524a7b463cae41c8b165ad38 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Tue, 17 Mar 2015 18:19:00 +0100 Subject: [PATCH] inizio a creare gestione impiego risorse... --- .../GIM_data/DS_applicazione.Designer.cs | 153 +++++++++++++++++- Projects/WebGIM/GIM_data/DS_applicazione.xsd | 43 ++++- Projects/WebGIM/GIM_data/DS_applicazione.xss | 18 +-- Projects/WebGIM/GIM_data/bin/GIM_data.dll | Bin 522752 -> 522752 bytes Projects/WebGIM/GIM_data/bin/SteamWare.dll | Bin 624640 -> 624640 bytes Projects/WebGIM/GIM_site/GIM_site.csproj | 8 + .../mod_dettaglioIntervento.ascx | 20 ++- .../WebUserControls/mod_impiegoRisorse.ascx | 111 +++++++++++++ .../mod_impiegoRisorse.ascx.cs | 132 +++++++++++++++ .../mod_impiegoRisorse.ascx.designer.cs | 42 +++++ Projects/WebGIM/GIM_site/bin/GIM_data.dll | Bin 522752 -> 522752 bytes Projects/WebGIM/GIM_site/bin/GIM_site.dll | Bin 522240 -> 523776 bytes Projects/WebGIM/GIM_site/bin/SteamWare.dll | Bin 624640 -> 624640 bytes 13 files changed, 511 insertions(+), 16 deletions(-) create mode 100644 Projects/WebGIM/GIM_site/WebUserControls/mod_impiegoRisorse.ascx create mode 100644 Projects/WebGIM/GIM_site/WebUserControls/mod_impiegoRisorse.ascx.cs create mode 100644 Projects/WebGIM/GIM_site/WebUserControls/mod_impiegoRisorse.ascx.designer.cs diff --git a/Projects/WebGIM/GIM_data/DS_applicazione.Designer.cs b/Projects/WebGIM/GIM_data/DS_applicazione.Designer.cs index 69d8f5b..b90f7b4 100644 --- a/Projects/WebGIM/GIM_data/DS_applicazione.Designer.cs +++ b/Projects/WebGIM/GIM_data/DS_applicazione.Designer.cs @@ -20959,12 +20959,37 @@ ORDER BY numIntMtz DESC"; [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] private void InitCommandCollection() { - this._commandCollection = new global::System.Data.SqlClient.SqlCommand[1]; + this._commandCollection = new global::System.Data.SqlClient.SqlCommand[4]; this._commandCollection[0] = new global::System.Data.SqlClient.SqlCommand(); this._commandCollection[0].Connection = this.Connection; this._commandCollection[0].CommandText = "SELECT idxImpiego, CodRisorsa, numIntMtz, QtaRisorsa, CostoUnit, TotImport FROM d" + "bo.ImpiegoRisorse"; this._commandCollection[0].CommandType = global::System.Data.CommandType.Text; + this._commandCollection[1] = new global::System.Data.SqlClient.SqlCommand(); + this._commandCollection[1].Connection = this.Connection; + this._commandCollection[1].CommandText = "dbo.stp_ImpRis_delete"; + this._commandCollection[1].CommandType = global::System.Data.CommandType.StoredProcedure; + this._commandCollection[1].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RETURN_VALUE", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.ReturnValue, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[1].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_idxImpiego", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[2] = new global::System.Data.SqlClient.SqlCommand(); + this._commandCollection[2].Connection = this.Connection; + this._commandCollection[2].CommandText = "dbo.stp_ImpRis_insert"; + this._commandCollection[2].CommandType = global::System.Data.CommandType.StoredProcedure; + this._commandCollection[2].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RETURN_VALUE", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.ReturnValue, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[2].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodRisorsa", global::System.Data.SqlDbType.NVarChar, 10, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[2].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@numIntMtz", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[2].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@QtaRisorsa", global::System.Data.SqlDbType.Decimal, 9, global::System.Data.ParameterDirection.Input, 18, 6, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[2].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CostoUnit", global::System.Data.SqlDbType.Decimal, 9, global::System.Data.ParameterDirection.Input, 18, 6, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[3] = new global::System.Data.SqlClient.SqlCommand(); + this._commandCollection[3].Connection = this.Connection; + this._commandCollection[3].CommandText = "dbo.stp_ImpRis_update"; + this._commandCollection[3].CommandType = global::System.Data.CommandType.StoredProcedure; + this._commandCollection[3].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RETURN_VALUE", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.ReturnValue, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[3].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_idxImpiego", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[3].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodRisorsa", global::System.Data.SqlDbType.NVarChar, 10, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[3].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@numIntMtz", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[3].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@QtaRisorsa", global::System.Data.SqlDbType.Decimal, 9, global::System.Data.ParameterDirection.Input, 18, 6, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[3].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CostoUnit", global::System.Data.SqlDbType.Decimal, 9, global::System.Data.ParameterDirection.Input, 18, 6, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] @@ -21132,6 +21157,132 @@ ORDER BY numIntMtz DESC"; public virtual int Update(string CodRisorsa, int numIntMtz, global::System.Nullable QtaRisorsa, global::System.Nullable CostoUnit, int Original_idxImpiego) { return this.Update(Original_idxImpiego, CodRisorsa, numIntMtz, QtaRisorsa, CostoUnit, Original_idxImpiego); } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public virtual int deleteQuery(global::System.Nullable Original_idxImpiego) { + global::System.Data.SqlClient.SqlCommand command = this.CommandCollection[1]; + if ((Original_idxImpiego.HasValue == true)) { + command.Parameters[1].Value = ((int)(Original_idxImpiego.Value)); + } + else { + command.Parameters[1].Value = global::System.DBNull.Value; + } + global::System.Data.ConnectionState previousConnectionState = command.Connection.State; + if (((command.Connection.State & global::System.Data.ConnectionState.Open) + != global::System.Data.ConnectionState.Open)) { + command.Connection.Open(); + } + int returnValue; + try { + returnValue = command.ExecuteNonQuery(); + } + finally { + if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) { + command.Connection.Close(); + } + } + return returnValue; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public virtual int insertQuery(string CodRisorsa, global::System.Nullable numIntMtz, global::System.Nullable QtaRisorsa, global::System.Nullable CostoUnit) { + global::System.Data.SqlClient.SqlCommand command = this.CommandCollection[2]; + if ((CodRisorsa == null)) { + command.Parameters[1].Value = global::System.DBNull.Value; + } + else { + command.Parameters[1].Value = ((string)(CodRisorsa)); + } + if ((numIntMtz.HasValue == true)) { + command.Parameters[2].Value = ((int)(numIntMtz.Value)); + } + else { + command.Parameters[2].Value = global::System.DBNull.Value; + } + if ((QtaRisorsa.HasValue == true)) { + command.Parameters[3].Value = ((decimal)(QtaRisorsa.Value)); + } + else { + command.Parameters[3].Value = global::System.DBNull.Value; + } + if ((CostoUnit.HasValue == true)) { + command.Parameters[4].Value = ((decimal)(CostoUnit.Value)); + } + else { + command.Parameters[4].Value = global::System.DBNull.Value; + } + global::System.Data.ConnectionState previousConnectionState = command.Connection.State; + if (((command.Connection.State & global::System.Data.ConnectionState.Open) + != global::System.Data.ConnectionState.Open)) { + command.Connection.Open(); + } + int returnValue; + try { + returnValue = command.ExecuteNonQuery(); + } + finally { + if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) { + command.Connection.Close(); + } + } + return returnValue; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public virtual int updateQuery(global::System.Nullable Original_idxImpiego, string CodRisorsa, global::System.Nullable numIntMtz, global::System.Nullable QtaRisorsa, global::System.Nullable CostoUnit) { + global::System.Data.SqlClient.SqlCommand command = this.CommandCollection[3]; + if ((Original_idxImpiego.HasValue == true)) { + command.Parameters[1].Value = ((int)(Original_idxImpiego.Value)); + } + else { + command.Parameters[1].Value = global::System.DBNull.Value; + } + if ((CodRisorsa == null)) { + command.Parameters[2].Value = global::System.DBNull.Value; + } + else { + command.Parameters[2].Value = ((string)(CodRisorsa)); + } + if ((numIntMtz.HasValue == true)) { + command.Parameters[3].Value = ((int)(numIntMtz.Value)); + } + else { + command.Parameters[3].Value = global::System.DBNull.Value; + } + if ((QtaRisorsa.HasValue == true)) { + command.Parameters[4].Value = ((decimal)(QtaRisorsa.Value)); + } + else { + command.Parameters[4].Value = global::System.DBNull.Value; + } + if ((CostoUnit.HasValue == true)) { + command.Parameters[5].Value = ((decimal)(CostoUnit.Value)); + } + else { + command.Parameters[5].Value = global::System.DBNull.Value; + } + global::System.Data.ConnectionState previousConnectionState = command.Connection.State; + if (((command.Connection.State & global::System.Data.ConnectionState.Open) + != global::System.Data.ConnectionState.Open)) { + command.Connection.Open(); + } + int returnValue; + try { + returnValue = command.ExecuteNonQuery(); + } + finally { + if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) { + command.Connection.Close(); + } + } + return returnValue; + } } /// diff --git a/Projects/WebGIM/GIM_data/DS_applicazione.xsd b/Projects/WebGIM/GIM_data/DS_applicazione.xsd index 90970d7..fc9d437 100644 --- a/Projects/WebGIM/GIM_data/DS_applicazione.xsd +++ b/Projects/WebGIM/GIM_data/DS_applicazione.xsd @@ -1629,7 +1629,48 @@ WHERE (idxCausale = @Original_idxCausale) - + + + + + dbo.stp_ImpRis_delete + + + + + + + + + + + dbo.stp_ImpRis_insert + + + + + + + + + + + + + + dbo.stp_ImpRis_update + + + + + + + + + + + + diff --git a/Projects/WebGIM/GIM_data/DS_applicazione.xss b/Projects/WebGIM/GIM_data/DS_applicazione.xss index ef5bbce..ea643f1 100644 --- a/Projects/WebGIM/GIM_data/DS_applicazione.xss +++ b/Projects/WebGIM/GIM_data/DS_applicazione.xss @@ -4,7 +4,7 @@ Changes to this file may cause incorrect behavior and will be lost if the code is regenerated. --> - + @@ -20,14 +20,14 @@ - + - + @@ -219,11 +219,11 @@ 141 - 681 + 690 - 249 - 681 + 248 + 690 @@ -235,11 +235,11 @@ 569 - 642 + 651 - 460 - 642 + 470 + 651 diff --git a/Projects/WebGIM/GIM_data/bin/GIM_data.dll b/Projects/WebGIM/GIM_data/bin/GIM_data.dll index e1b19b8f56d8c1009e0ade3c60354f120dd0efe6..27f90460847d38cabdf094cd1dfe514f0463282f 100644 GIT binary patch delta 75 zcmV-R0JQ&r^dErqACQOwc3pvrg^B@%iUNg-1BHqNg^C4*iUzfc2VTMusjLYwtjR+{ hrt%`=x@EU!U6@EU$T9@YW2Py#)w-NFO?*|5kA=3Z= diff --git a/Projects/WebGIM/GIM_data/bin/SteamWare.dll b/Projects/WebGIM/GIM_data/bin/SteamWare.dll index e339769692f7278bd52e6d554504e5ad8bdc1973..47fa5e88f85e3cd6fdbd9ca0b9d978de2e8db3bf 100644 GIT binary patch delta 81 zcmZpepw=)!Z9)fAX>4OxYZqf{7gK8&b88n%YZq&47h7u=dutcR)-KK}TLF2q3y=So l$GXkBBX3asXR7vg5j)O54nU35h3YxA7~8hn)^i@_001M%A9nx% delta 81 zcmZpepw=)!Z9)fAc~oOpYZqf{7gK8&b88n%YZq&47h7u=dutcR)-KK}TY mod_impianti.ascx + + mod_impiegoRisorse.ascx + ASPXCodeBehind + + + mod_impiegoRisorse.ascx + mod_insertRichiesta.ascx ASPXCodeBehind @@ -1367,6 +1374,7 @@ + diff --git a/Projects/WebGIM/GIM_site/WebUserControls/mod_dettaglioIntervento.ascx b/Projects/WebGIM/GIM_site/WebUserControls/mod_dettaglioIntervento.ascx index b0e7fd0..704bc05 100644 --- a/Projects/WebGIM/GIM_site/WebUserControls/mod_dettaglioIntervento.ascx +++ b/Projects/WebGIM/GIM_site/WebUserControls/mod_dettaglioIntervento.ascx @@ -1,9 +1,10 @@ <%@ Control Language="C#" AutoEventWireup="true" Inherits="mod_dettaglioIntervento" CodeBehind="mod_dettaglioIntervento.ascx.cs" %> -<%@ Register Src="~/WebUserControls/mod_interventoOpMtz.ascx" TagName="mod_interventoOpMtz" - TagPrefix="uc1" %> +<%@ Register Src="~/WebUserControls/mod_interventoOpMtz.ascx" TagName="mod_interventoOpMtz" TagPrefix="uc1" %> <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %> <%@ Register Src="~/WebUserControls/mod_dataOra.ascx" TagName="mod_dataOra" TagPrefix="uc2" %> +<%@ Register Src="~/WebUserControls/mod_impiegoRisorse.ascx" TagPrefix="uc3" TagName="mod_impiegoRisorse" %> +
@@ -210,7 +211,10 @@ SelectMethod="GetData" TypeName="GIM_data.DS_utilityTableAdapters.v_selStatoTableAdapter"> - + + + + @@ -431,7 +435,10 @@ SelectMethod="GetData" TypeName="GIM_data.DS_utilityTableAdapters.v_selStatoTableAdapter"> - + + + + @@ -681,7 +688,10 @@ SelectMethod="GetData" TypeName="GIM_data.DS_utilityTableAdapters.v_selStatoTableAdapter"> - + + + + diff --git a/Projects/WebGIM/GIM_site/WebUserControls/mod_impiegoRisorse.ascx b/Projects/WebGIM/GIM_site/WebUserControls/mod_impiegoRisorse.ascx new file mode 100644 index 0000000..b8e40cd --- /dev/null +++ b/Projects/WebGIM/GIM_site/WebUserControls/mod_impiegoRisorse.ascx @@ -0,0 +1,111 @@ +<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="mod_impiegoRisorse.ascx.cs" Inherits="GIM_site.WebUserControls.mod_impiegoRisorse" %> +<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Projects/WebGIM/GIM_site/WebUserControls/mod_impiegoRisorse.ascx.cs b/Projects/WebGIM/GIM_site/WebUserControls/mod_impiegoRisorse.ascx.cs new file mode 100644 index 0000000..b3aa944 --- /dev/null +++ b/Projects/WebGIM/GIM_site/WebUserControls/mod_impiegoRisorse.ascx.cs @@ -0,0 +1,132 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; +using SteamWare; + +namespace GIM_site.WebUserControls +{ + public partial class mod_impiegoRisorse : ApplicationUserControl + { + public event EventHandler eh_resetSelezione; + /// + /// evento dati associati a controllo + /// + /// + /// + protected void grView_DataBound(object sender, EventArgs e) + { + if (grView.Rows.Count > 0) + { + LinkButton lb; + // aggiorno gli headers + foreach (TableCell cella in grView.HeaderRow.Cells) + { + try + { + lb = (LinkButton)cella.Controls[0]; + lb.Text = traduci(lb.Text); + } + catch + { } + } + int totRecord = grView.Rows.Count + grView.PageSize * (grView.PageCount - 1); + lblNumRec.Text = string.Format("{0} records of ~ {1}", grView.Rows.Count, totRecord); + } + else + { + lblNumRec.Text = ""; + } + } + /// + /// reset delle selezioni + /// + /// + /// + protected void btnReset_Click(object sender, EventArgs e) + { + resetSelezione(); + } + /// + /// resetta la selezione dei valori in caso di modifiche su altri controlli + /// + public void resetSelezione() + { + grView.SelectedIndex = -1; + grView.DataBind(); + if (eh_resetSelezione != null) + { + eh_resetSelezione(this, new EventArgs()); + } + } + /// + /// seleziono valore in editing... + /// + /// + /// + protected void grView_RowEditing(object sender, GridViewEditEventArgs e) + { + // seleziono la riga corrente... + grView.SelectedIndex = e.NewEditIndex; + } + /// + /// gestione evento inserimento nuovo record standard (se ZERO presenti) + /// + /// + /// + protected void btnNewFromEmpty_Click(object sender, EventArgs e) + { + // reset selezione... + resetSelezione(); + int numIntMtz = memLayer.ML.IntSessionObj("numIntMtz_sel"); + string matr = memLayer.ML.confReadString("defaultMatr"); + TA_app.obj.taIntOpMtz.Insert(numIntMtz, matr, 0); + grView.DataBind(); + } + /// + /// restituisce un booleano se sia abilitato inserimento nuovi valori (solo se NON C'E' GIA' un operatore con amtricola di default...) + /// + /// + public bool canInsertNew() + { + bool answ = false; + int numIntMtz = memLayer.ML.IntSessionObj("numIntMtz_sel"); + string matr = memLayer.ML.confReadString("defaultMatr"); + try + { + answ = (TA_app.obj.taIntOpMtz.getByMatrNumIntMtz(numIntMtz, matr).Rows.Count == 0); + } + catch + { } + return (answ && isOnEdit); + } + /// + /// restituisce true se il controllo è in modalità editing (e non selezione...) + /// + public bool isOnEdit + { + get + { + return _vistaModulo == tipoVistaMod.editing; + } + } + /// + /// traduce matricola in matr + cognome + nome + /// + /// + /// + public string traduciMatrOp(object matr) + { + string answ = ""; + try + { + answ = TA_app.obj.taSelMatrOp.getByValue(matr.ToString())[0].label; + } + catch + { } + return answ; + } + } +} diff --git a/Projects/WebGIM/GIM_site/WebUserControls/mod_impiegoRisorse.ascx.designer.cs b/Projects/WebGIM/GIM_site/WebUserControls/mod_impiegoRisorse.ascx.designer.cs new file mode 100644 index 0000000..63e3658 --- /dev/null +++ b/Projects/WebGIM/GIM_site/WebUserControls/mod_impiegoRisorse.ascx.designer.cs @@ -0,0 +1,42 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace GIM_site.WebUserControls { + + + public partial class mod_impiegoRisorse { + + /// + /// grView control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.GridView grView; + + /// + /// lblNumRec control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblNumRec; + + /// + /// ods control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.ObjectDataSource ods; + } +} diff --git a/Projects/WebGIM/GIM_site/bin/GIM_data.dll b/Projects/WebGIM/GIM_site/bin/GIM_data.dll index e1b19b8f56d8c1009e0ade3c60354f120dd0efe6..27f90460847d38cabdf094cd1dfe514f0463282f 100644 GIT binary patch delta 75 zcmV-R0JQ&r^dErqACQOwc3pvrg^B@%iUNg-1BHqNg^C4*iUzfc2VTMusjLYwtjR+{ hrt%`=x@EU!U6@EU$T9@YW2Py#)w-NFO?*|5kA=3Z= diff --git a/Projects/WebGIM/GIM_site/bin/GIM_site.dll b/Projects/WebGIM/GIM_site/bin/GIM_site.dll index 080eed5bacbb498b200da1158cfa3ce1b6dc3283..4a2897c488061da2a100b7e0e35213d4edd04545 100644 GIT binary patch delta 37193 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 aIdA*LR delta 36516 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%0DuHOf2-pBuwXCgQSFr*7 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 diff --git a/Projects/WebGIM/GIM_site/bin/SteamWare.dll b/Projects/WebGIM/GIM_site/bin/SteamWare.dll index e339769692f7278bd52e6d554504e5ad8bdc1973..47fa5e88f85e3cd6fdbd9ca0b9d978de2e8db3bf 100644 GIT binary patch delta 81 zcmZpepw=)!Z9)fAX>4OxYZqf{7gK8&b88n%YZq&47h7u=dutcR)-KK}TLF2q3y=So l$GXkBBX3asXR7vg5j)O54nU35h3YxA7~8hn)^i@_001M%A9nx% delta 81 zcmZpepw=)!Z9)fAc~oOpYZqf{7gK8&b88n%YZq&47h7u=dutcR)-KK}TY