/// <summary> /// Listeaza suspendarile contractului individual de munca /// </summary> private void LoadIstoricSuspendariCIM() { try { listTable.Rows.Clear(); listTable.Attributes.Add("width", "100%"); listTable.Style.Add("border", "1px solid #20b2aa"); listTable.Attributes.Add("cellpadding", "0"); listTable.Attributes.Add("cellspacing", "1"); IntervaleIntreruperiAngajat istSuspCIM = new IntervaleIntreruperiAngajat(AngajatID); string[] arHeader = { "Data de inceput", "Data de sfarsit", "Observatii" }; string[] arCols = { "DataStart", "DataEnd", "Descriere" }; SiemensHR.Classes.ListTable objListTable = new SiemensHR.Classes.ListTable(listTable, istSuspCIM.LoadIntreruperiCIM(), arHeader, arCols); objListTable.textForEmptyDataSet = "Nu exista nici o intrerupere a contractului individual de munca asociata acestui angajat!"; string[] ar_OnClickParam = { AngajatID.ToString(), "AngajatIntrerupereID", "DataStart", "DataEnd", "Descriere" }; string[] ar_OnClickParamType = { "const", "dataset", "dataset", "dataset", "dataset" }; objListTable.OnclickParams = ar_OnClickParam; objListTable.OnclickParamsType = ar_OnClickParamType; objListTable.OnclickJSMethod = "SelectSuspendareCIM"; objListTable.DrawListTableWithoutDigits(); } catch (Exception ex) { litError.Text = "The following error occurred: <br>"; litError.Text += ex.Message; } }
/// <summary> /// Procedura determina zilele din luna cu intreruperi /// </summary> /// <param name="z"></param> /// <returns>Returneaza un DataSet care contine aceste date</returns> private DataSet GetZileLunaIntreruperi(Zile z) { try { DataSet ds = new IntervaleIntreruperiAngajat(this.GetAngajat()).GetIntervaleIntreruperiAngajatLuna(this.SelectedDate); DataSet dsZile = z.GetZileIntrerupereContract(this.SelectedDate.Year, this.SelectedDate.Month, (DateTime)ds.Tables[0].Rows[0]["DataStart"], (DateTime)ds.Tables[0].Rows[0]["DataEnd"]); for (int i = 1; i < ds.Tables[0].Rows.Count; i++) { DataRow dr = ds.Tables[0].Rows[i]; dsZile.Merge(z.GetZileIntrerupereContract(this.SelectedDate.Year, this.SelectedDate.Month, (DateTime)dr["DataStart"], (DateTime)dr["DataEnd"])); } return(dsZile); } catch (Exception) { return(null); } }
/// <summary> /// Sterge o intrerupere CIM /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnStergeDate_Click(object sender, System.EventArgs e) { ErrHandler.MyErrHandler.WriteError("IstoricSuspendariCIM.ascx - start - StergeSuspendare() - angID: " + AngajatID + " - " + txtDataStart.Text + " - " + txtDataEnd.Text); DateTime dataStart = SiemensTM.utils.Utilities.ConvertText2DateTime(DateStart.Value); DateTime dataEnd = SiemensTM.utils.Utilities.ConvertText2DateTime(DateEnd.Value); string observatii = txtObservatii.Text; int intrerupereId = Convert.ToInt32(txtIntrerupereID.Value); IntervaleIntreruperiAngajat iia = new IntervaleIntreruperiAngajat(this.AngajatID); DataSet ds = iia.GetIntervalIntreruperiAngajatByID(intrerupereId); if (ds.Tables[0].Rows.Count > 0 && ds != null) { if ((DateTime)ds.Tables[0].Rows[0]["DataStart"] < dataStartLunaActiva) { new IntervaleAngajat(this.AngajatID).RestoreIntervaleAngajatPerioadaSterseTemporar(dataStartLunaActiva, (DateTime)ds.Tables[0].Rows[0]["DataEnd"]); DateTime dataEndInt = dataStartLunaActiva.AddDays(-1); iia.UpdateIntervalIntreruperiAngajat(intrerupereId, (DateTime)ds.Tables[0].Rows[0]["DataStart"], dataEndInt, ds.Tables[0].Rows[0]["Descriere"].ToString()); } else { new IntervaleAngajat(this.AngajatID).RestoreIntervaleAngajatPerioadaSterseTemporar((DateTime)ds.Tables[0].Rows[0]["DataStart"], (DateTime)ds.Tables[0].Rows[0]["DataEnd"]); iia.DeleteIntervalIntreruperiAngajat(intrerupereId); } } else { iia.DeleteIntervalIntreruperiAngajat(intrerupereId); } string [][] tmp = GetOreLucrateIntervaleSpecialeLuna(); RedistribuireOreSuplimentareLunaAngajat(tmp); LoadIstoricSuspendariCIM(); this.txtDataStart.Text = ""; this.txtDataEnd.Text = ""; ErrHandler.MyErrHandler.WriteError("IstoricSuspendariCIM.ascx - end - StergeSuspendare() - angID: " + AngajatID); }
/// <summary> /// Adaugarea propriu-zisa a absentelor /// /// Autor: Fratila Claudia /// Data: 29.10.2007 /// Descriere: S-a adaugat un mesaj de avertizare la specificarea unei date care nu exista. /// Ex: 31.09.2007 /// </summary> /// <param name="DataStart"></param> /// <param name="DataEnd"></param> /// <param name="descriere"></param> /// <param name="tipActiune"></param> /// <param name="IntervalID"></param> /// <param name="iia"></param> private void InsertIntervalIntreruperiPosibil(DateTime DataStart, DateTime DataEnd, string descriere, int tipActiune, int IntervalID, IntervaleIntreruperiAngajat iia) { IntervaleIntreruperiAngajat intervIntr = new IntervaleIntreruperiAngajat(this.AngajatID); intervIntr.InsertIntervalIntreruperiAngajat(DataStart, DataEnd, descriere); /*string dataS = ""; * try * { * dataS = SiemensTM.utils.Utilities.ConvertToShort(SiemensTM.utils.Utilities.ConvertText2DateTime(this.txtDataEnd.Text).AddDays( 1 )).ToString(); * } * catch (Exception ex) * { * Response.Write( "<script> alert( '"+Definitions.alertInceput+"' );</script>" ); * return; * } * char []split = new char[ 1 ]; split[ 0 ] = ' '; * dataS = dataS.Split( split )[ 0 ]; * * this.txtDataStart.Text = dataS; * this.txtDataEnd.Text = "";*/ }
/// <summary> /// Modifica o intrerupere CIM /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnModificaDate_Click(object sender, System.EventArgs e) { ErrHandler.MyErrHandler.WriteError("IstoricSuspendariCIM.ascx - start - ModificaSuspendare() - angID: " + AngajatID + " - " + txtDataStart.Text + " - " + txtDataEnd.Text); try { DateTime dataStart = SiemensTM.utils.Utilities.ConvertText2DateTime(DateStart.Value); DateTime dataEnd = SiemensTM.utils.Utilities.ConvertText2DateTime(DateEnd.Value); string observatii = txtObservatii.Text; int intrerupereId = Convert.ToInt32(txtIntrerupereID.Value); IntervaleIntreruperiAngajat iia = new IntervaleIntreruperiAngajat(this.AngajatID); ActiuneInsertIntreruperiBDPosibil(dataStart, dataEnd, observatii, 1, intrerupereId, iia); LoadIstoricSuspendariCIM(); this.txtDataStart.Text = ""; this.txtDataEnd.Text = ""; } catch (Exception ex) { litError.Text = "The following error occurred: <br>"; litError.Text += ex.Message; ErrHandler.MyErrHandler.WriteError("IstoricSuspendariCIM.ascx - error - ModificaSuspendare() - angID: " + AngajatID + " - " + ex.Message); } ErrHandler.MyErrHandler.WriteError("IstoricSuspendariCIM.ascx - end - ModificaSuspendare() - angID: " + AngajatID); }
/// <summary> /// Actualizeaza un interval de intrerupere /// </summary> /// <param name="DataStart"></param> /// <param name="DataEnd"></param> /// <param name="descriere"></param> /// <param name="tipActiune"></param> /// <param name="IntervalID"></param> /// <param name="iia"></param> private void UpdateIntervalIntreruperiPosibil(DateTime DataStart, DateTime DataEnd, string descriere, int tipActiune, int IntervalID, IntervaleIntreruperiAngajat iia) { //dovle DataSet ds = iia.GetIntervalIntreruperiAngajatByID(IntervalID); if (ds.Tables[0].Rows.Count > 0 && ds != null) { if ((DateTime)ds.Tables[0].Rows[0]["DataEnd"] > DataEnd) { new IntervaleAngajat(this.AngajatID).RestoreIntervaleAngajatPerioadaSterseTemporar(DataEnd.AddDays(1), (DateTime)ds.Tables[0].Rows[0]["DataEnd"]); } if ((DateTime)ds.Tables[0].Rows[0]["DataStart"] < DataStart) { new IntervaleAngajat(this.AngajatID).RestoreIntervaleAngajatPerioadaSterseTemporar((DateTime)ds.Tables[0].Rows[0]["DataStart"], DataStart.AddDays(-1)); } } iia.UpdateIntervalIntreruperiAngajat(IntervalID, DataStart, DataEnd, descriere); }
/// <summary> /// Procedura adauga un interval de intrerupere /// </summary> /// <param name="DataStart"></param> /// <param name="DataEnd"></param> /// <param name="descriere"></param> /// <param name="tipActiune"></param> /// <param name="IntervalID"></param> /// <param name="iia"></param> private void ActiuneInsertIntreruperiBDPosibil(DateTime DataStart, DateTime DataEnd, string descriere, int tipActiune, int IntervalID, IntervaleIntreruperiAngajat iia) { int potIntrodInBD = new IntervaleIntreruperiAngajat(this.AngajatID).IntersectieCuIntervaleExistente(DataStart, DataEnd, IntervalID); switch (potIntrodInBD) { case 0: string [][] tmp = GetOreLucrateIntervaleSpecialeLuna(); switch (tipActiune) { case 0: InsertIntervalIntreruperiPosibil(DataStart, DataEnd, descriere, tipActiune, IntervalID, iia); RedistribuireOreSuplimentareLunaAngajat(tmp); break; case 1: UpdateIntervalIntreruperiPosibil(DataStart, DataEnd, descriere, tipActiune, IntervalID, iia); break; } RedistribuireOreSuplimentareLunaAngajat(tmp); break; case 1: this.txtDataStart.Text = ""; Response.Write("<script> alert( '" + Definitions.alertAdaugaAbsenteInceput + "' );</script>"); break; case 2: this.txtDataEnd.Text = ""; Response.Write("<script> alert( '" + Definitions.alertAdaugaAbsenteSfarsit + "' );</script>"); break; case 3: this.txtDataStart.Text = ""; this.txtDataEnd.Text = ""; Response.Write("<script> alert( '" + Definitions.alertAdaugaAbsenteInceputSfarsit + "' );</script>"); break; case 4: Response.Write("<script> alert( '" + Definitions.alertAdaugaAbsenteContineInterval + "' );</script>"); break; case 5: new IntervaleAngajat(this.AngajatID).DeleteTemporarIntervaleAngajatPerioada(DataStart, DataEnd, false); tmp = GetOreLucrateIntervaleSpecialeLuna(); switch (tipActiune) { case 0: InsertIntervalIntreruperiPosibil(DataStart, DataEnd, descriere, tipActiune, IntervalID, iia); break; case 1: UpdateIntervalIntreruperiPosibil(DataStart, DataEnd, descriere, tipActiune, IntervalID, iia); break; } RedistribuireOreSuplimentareLunaAngajat(tmp); break; case 6: this.txtDataStart.Text = ""; Response.Write("<script> alert( '" + Definitions.alertAdaugaIntreruperiInceput + "' );</script>"); break; case 7: this.txtDataEnd.Text = ""; Response.Write("<script> alert( '" + Definitions.alertAdaugaIntreruperiSfarsit + "' );</script>"); break; case 8: this.txtDataStart.Text = ""; this.txtDataEnd.Text = ""; Response.Write("<script> alert( '" + Definitions.alertAdaugaIntreruperiInceputSfarsit + "' );</script>"); break; case 9: Response.Write("<script> alert( '" + Definitions.alertAdaugaIntreruperiContineInterval + "' );</script>"); break; //se verifica faptul ca data de inceput si de sfarsit a intervalului sa nu fie inversate case 10: Response.Write("<script> alert( '" + Definitions.alertAdaugaAbsenteDateInversate + "' );</script>"); break; default: break; } }