private void Page_Load(object sender, System.EventArgs e) { TransferDateLichidareLaClient(); if (!IsPostBack) { BindMotiveDePlecare(); } //Modificat: Oprescu Claudia //Descriere: Daca angajatul selectat este lichidat atunci se vizualizeaza datele despre lichidare corespunzatoare if (this.txtNrInregistrare.Text.Equals("")) { try { Salaries.Business.Luni l = new Salaries.Business.Luni(this.GetAngajator()); Salaries.Data.LunaData ld = l.GetLunaActiva(); int AngajatID = int.Parse(Session["AngajatID"].ToString()); Salaries.Business.Lichidare lichidare = new Salaries.Business.Lichidare(); DataSet ds = lichidare.GetLichidareAngajat(AngajatID, ld.Data); if (ds.Tables[0].Rows.Count > 0) { lstMotivDePlecare.SelectedValue = ds.Tables[0].Rows[0]["MotivDePlecareId"].ToString(); this.txtNrInregistrare.Text = ds.Tables[0].Rows[0]["NrInregistrare"].ToString(); if (DateTime.Parse(ds.Tables[0].Rows[0]["DataInregistrare"].ToString()).ToShortDateString() == "01.01.1753") { this.txtDataInregistrare.Text = ""; } else { this.txtDataInregistrare.Text = DateTime.Parse(ds.Tables[0].Rows[0]["DataInregistrare"].ToString()).ToShortDateString(); } this.txtDataLichidare.Text = DateTime.Parse(ds.Tables[0].Rows[0]["DataLichidare"].ToString()).ToShortDateString(); //this.txtNrArticol.Text = float.Parse(ds.Tables[0].Rows[0]["NrArticol"].ToString()).ToString("N",Salaries.Business.VariabileGlobale.numberInfoFormatWithoutDigits); this.txtNrArticol.Text = ds.Tables[0].Rows[0]["NrArticol"].ToString(); this.txtAvansuriDecontare.Text = float.Parse(ds.Tables[0].Rows[0]["AvansuriDecontare"].ToString()).ToString("N", Salaries.Business.VariabileGlobale.numberInfoFormatWithoutDigits); this.txtAbonamente.Text = float.Parse(ds.Tables[0].Rows[0]["Abonamente"].ToString()).ToString("N", Salaries.Business.VariabileGlobale.numberInfoFormatWithoutDigits); this.txtTicheteMasa.Text = float.Parse(ds.Tables[0].Rows[0]["TicheteMasa"].ToString()).ToString("N", Salaries.Business.VariabileGlobale.numberInfoFormatWithoutDigits); this.txtEchipamentLucru.Text = float.Parse(ds.Tables[0].Rows[0]["EchipamentLucru"].ToString()).ToString("N", Salaries.Business.VariabileGlobale.numberInfoFormatWithoutDigits); this.txtLaptop.Text = float.Parse(ds.Tables[0].Rows[0]["Laptop"].ToString()).ToString("N", Salaries.Business.VariabileGlobale.numberInfoFormatWithoutDigits); this.txtTelServiciu.Text = float.Parse(ds.Tables[0].Rows[0]["telServiciu"].ToString()).ToString("N", Salaries.Business.VariabileGlobale.numberInfoFormatWithoutDigits); this.txtObiecteInventar.Text = float.Parse(ds.Tables[0].Rows[0]["ObiecteInventar"].ToString()).ToString("N", Salaries.Business.VariabileGlobale.numberInfoFormatWithoutDigits); this.txtCarti.Text = float.Parse(ds.Tables[0].Rows[0]["Carti"].ToString()).ToString("N", Salaries.Business.VariabileGlobale.numberInfoFormatWithoutDigits); this.txtCD.Text = float.Parse(ds.Tables[0].Rows[0]["CD"].ToString()).ToString("N", Salaries.Business.VariabileGlobale.numberInfoFormatWithoutDigits); if (DateTime.Parse(ds.Tables[0].Rows[0]["LunaRetinere"].ToString()).ToShortDateString() == "01.01.1753") { this.txtLunaRetinere.Text = ""; } else { this.txtLunaRetinere.Text = DateTime.Parse(ds.Tables[0].Rows[0]["LunaRetinere"].ToString()).ToShortDateString(); } } } catch {} } }
/// <summary> /// Salveaza o lichidate /// </summary> private void btnSalveaza_Click() { /* * Modified: Cristina Raluca Muntean * Date: 10.09.2005 * Descriere: Modificarea consta in validarea datelor de intrare, a statusului angajatului(lichidat/nu este lichidat) * si a generarii situatiei lunare conform cu noile date corespunzatoare lichidarii. */ //Modificat: Oprescu Claudia //Descriere: Se face mai intai validarea datelor introduse si apoi daca angajatul nu este lichidat se face lichidarea lui // Daca este deja lichidat se face actualizare la datele lichidarii, adica se sterge cea veche si se adauga una noua int idAng = GetAngajat(); ErrHandler.MyErrHandler.WriteError("LichidareAngajat.ascx - start - Salveaza() - idAng: " + idAng.ToString()); try { Salaries.Data.LichidareStruct lichidare = new Salaries.Data.LichidareStruct(); Salaries.Business.Angajat angajat = new Salaries.Business.Angajat(); angajat.AngajatId = GetAngajat(); angajat.LoadAngajat(); lichidare.AngajatID = this.GetAngajat(); //variabila booleana care indica daca au fost completate toate campurile obligatorii bool fill = true; //variabila booleana care indica daca au fost completate corect campurile bool correct = true; //se verifica daca au fost completate campurile if (txtNrInregistrare.Text == "" || txtDataLichidare.Text == "" || txtDataInregistrare.Text == "") { fill = false; } try { lichidare.NrInregistrare = txtNrInregistrare.Text; lichidare.DataLichidare = Utilities.ConvertText2DateTime(txtDataLichidare.Text); lichidare.MotivDePlecareId = int.Parse(((System.Web.UI.HtmlControls.HtmlInputHidden)Page.FindControl("txtMotivDePlecareHidden")).Value); lichidare.NrArticol = txtNrArticol.Text; lichidare.AvansuriDecontare = decimal.Parse(txtAvansuriDecontare.Text); lichidare.Abonamente = decimal.Parse(txtAbonamente.Text); lichidare.TicheteMasa = decimal.Parse(txtTicheteMasa.Text); lichidare.EchipamentLucru = decimal.Parse(txtEchipamentLucru.Text); lichidare.Laptop = decimal.Parse(txtLaptop.Text); lichidare.TelServiciu = decimal.Parse(txtTelServiciu.Text); lichidare.ObiecteInventar = decimal.Parse(txtObiecteInventar.Text); lichidare.Carti = decimal.Parse(txtCarti.Text); lichidare.CD = decimal.Parse(txtCD.Text); lichidare.DataInregistrare = Utilities.ConvertText2DateTime(txtDataInregistrare.Text); if (txtLunaRetinere.Text == "") { lichidare.LunaRetinere = Utilities.ConvertText2DateTime("1.1.1753"); } else { lichidare.LunaRetinere = Utilities.ConvertText2DateTime(txtLunaRetinere.Text); } } catch (Exception) { //in cazul in care apare o eroare la conversie inseamna ca nu au fost completate corect campurile correct = false; } Salaries.Business.Luni luni = new Salaries.Business.Luni(this.GetAngajator()); Salaries.Data.LunaData lunaData = luni.GetLunaActiva(); //daca au fost completate toate campurile corect si data lichidarii se afla in luna activa se poate realiza efectiv lichidarea if (fill && correct) { if ((lunaData.Data.Month == DateTime.Parse(txtDataLichidare.Text).Date.Month&& lunaData.Data.Year == DateTime.Parse(txtDataLichidare.Text).Date.Year) || (DateTime.Parse(txtDataLichidare.Text).Date.Day == 1) && (DateTime.Parse(txtDataLichidare.Text).Date.Month == lunaData.Data.Month + 1) && (lunaData.Data.Year == DateTime.Parse(txtDataLichidare.Text).Date.Year) || (DateTime.Parse(txtDataLichidare.Text).Date.Day == 1) && (DateTime.Parse(txtDataLichidare.Text).Date.Month == 1) && (lunaData.Data.Month == 12) && (lunaData.Data.Year + 1 == DateTime.Parse(txtDataLichidare.Text).Date.Year)) { SiemensTM.Classes.IntervaleAngajat intervaleAngajat = new SiemensTM.Classes.IntervaleAngajat(lichidare.AngajatID); //sterge toate intervalele orare, inclusiv capetele de interval intervaleAngajat.DeleteIntervaleAngajatPerioada(lichidare.DataLichidare, DateTime.MaxValue, true); //initializeaza luna pentru angajatul in cauza intervaleAngajat.InitializeOreLucrateLunaAngajat(lunaData.Data, objAngajat.DataDeLa, lichidare.DataLichidare); //se genereaza situatia lunara a angajatului //Salaries.Business.SituatieLunaraAngajat sla = new Salaries.Business.SituatieLunaraAngajat( lichidare.AngajatID ); //sla.GenerareSituatieLunaraAngajat( this.GetCurrentMonth(), this.GetAngajator()); //Adaugat: Oprescu Claudia //Descriere: Se verifica sa nu existe deja o lichidare pentru luna activa. // Daca exista atunci se actualizeaza acea inregistrare. // Daca nu exista se adauga o inregistrare noua. int lichidareID = new Salaries.Business.Lichidare().CheckIfLichidareCanBeAdded(lichidare.AngajatID, lichidare.DataLichidare); if (lichidareID == 0) { new Salaries.Business.Lichidare().AddLichidare(lichidare); } else { lichidare.LichidareID = lichidareID; new Salaries.Business.Lichidare().UpdateLichidare(lichidare); } //Modified: Cristina Raluca Muntean //se genereaza situatia lunara a angajatului SiemensTM.Classes.SituatieAngajat situatieLunaraAng = new SiemensTM.Classes.SituatieAngajat(this.GetAngajat()); //Added: Ionel Popa -> daca este lichidat in prima zi a lunii i se sterge situatia lunara Salaries.Business.Luni activeMonth = new Salaries.Business.Luni(this.GetAngajator(), lunaData.LunaId); if (activeMonth.Data == lichidare.DataLichidare) { Salaries.Business.SituatieLunaraAngajat sla = new Salaries.Business.SituatieLunaraAngajat(this.GetAngajat()); sla.DeleteSituatieAngajat(GetCurrentMonth(), this.GetAngajat()); } else { //Modificat: Oprescu Claudia //Descriere: Se apeleaza metoda pentru generarea situatiei lunare a angajatului // La generarea situatiei se calculeaza numarul de zile de concediu de odihna neefectuat si efectuat in avans situatieLunaraAng.GenerareSituatieLunaraAngajatLichidat(); } //javascript StringBuilder jScript = new StringBuilder(); jScript.Append("<script language=\"JavaScript\">"); jScript.Append("window.open('../Comunicari/comunicare.aspx?id=" + objAngajat.AngajatId + "',null,'status=yes,toolbar=no,menubar=no,location=no,resizable=yes,scrollbars=yes')"); jScript.Append("</script>"); AdaugaInSesiune(); Response.Write(jScript.ToString()); } else { //este afisat mesajul de eroare Response.Write("<script>alert( 'Data lichidarii angajatului trebuie sa faca parte din luna activa!' );</script>"); } } else { //in functie de eroare este afisat mesajul corespunzator if (!correct) { Response.Write("<script>alert( 'Datele introduse nu sunt corecte!' );</script>"); } if (!fill) { Response.Write("<script>alert( 'Trebuie sa completati toate datele!' );</script>"); } } } catch (Exception ex) { litError.Text = "The following error occurred: <br>"; litError.Text += ex.Message; ErrHandler.MyErrHandler.WriteError("LichidareAngajat.ascx - start - Salveaza() - idAng: " + idAng.ToString() + " - " + ex.Message); } ErrHandler.MyErrHandler.WriteError("LichidareAngajat.ascx - end - Salveaza() - idAng: " + idAng.ToString()); }