Beispiel #1
0
        private string AddDelegatii(string numePrenume, string marcaAngajat, DateTime dataInceput, DateTime dataSfarsit, string tipDelegatie, string observatii)
        {
            string mesaj = "";

            Salaries.Business.Angajat ang = new Salaries.Business.Angajat();
            ang.Marca = marcaAngajat;
            int idAngajat = ang.GetAngajatIDByMarca(marcaAngajat);

            if (idAngajat != -1)
            {
                int idTipDelegatie = -1;
                foreach (Salaries.Data.TipAbsente item in sirTipuri)
                {
                    if (item.CodAbsenta.Equals(tipDelegatie))
                    {
                        idTipDelegatie = item.TipAbsentaID;
                    }
                }

                if (idTipDelegatie != -1)
                {
                    //introduc
                    mesaj += AdaugaDelegatie(numePrenume, marcaAngajat, idAngajat, dataInceput, dataSfarsit, idTipDelegatie, observatii);
                }
                else
                {
                    //nu e bun tipul absentei
                    mesaj += "Pentru angajatul " + numePrenume + " nu este corect tipul absentei." + Environment.NewLine;
                }
            }
            else
            {
                mesaj += "Nu a fost gasit angajatul " + numePrenume + "." + Environment.NewLine;
            }
            return(mesaj);
        }
        //Lungu Andreea - 20.09.2010
        public string ImportFisierSincronizare(string fileName)
        {
            ErrHandler.MyErrHandler.WriteError("SincronizareDateAngajati.ascx - start - ImportFisierSincronizare() - " + fileName);
            string marca = "", numePrenume = "", birou = "";

            Salaries.Data.ImportFisier imp = new Salaries.Data.ImportFisier();
            DataTable dt = imp.GetDataTableFromImport(fileName);

            string mesajImport             = "";

            foreach (DataRow dr in dt.Rows)
            {
                #region preiau datele din row-ul respectiv
                try
                {
                    marca       = dr["Marca"].ToString();
                    numePrenume = dr["Nume si Prenume"].ToString();
                    birou       = dr["Birou"].ToString();
                }
                catch (Exception exc)
                {
                    mesajImport += "Fisierul nu este in formatul corespunzator";
                    ErrHandler.MyErrHandler.WriteError("SincronizareDateAngajati.ascx - error - ImportFisierSincronizare() - 'Fisierul nu este in formatul corespunzator' ");
                    break;
                }
                #endregion

                #region determin id-ul angajatului pe baza marcii
                //determin id-ul angajatului pe baza marcii
                Salaries.Business.Angajat ang = new Salaries.Business.Angajat();
                ang.Marca = marca;
                int idAngajat = ang.GetAngajatIDByMarca(marca);
                ang.AngajatId = idAngajat;
                ang.LoadAngajat();

//				ang.LoadAngajat();
//				bool esteLichidat = true;
//				if ((ang.DataLichidare == DateTime.MinValue) || (ang.DataLichidare>dataStartLunaActiva))
//					esteLichidat = false;
                #endregion

                //if ((idAngajat != -1) && (!esteLichidat))
                if (idAngajat != -1)
                {
                    ang.Birou = birou;
                    ang.UpdateAngajat();
                }
                else
                {
                    if (!dr["Marca"].ToString().Equals(""))
                    {
                        mesajImport += "Nu exista angajatul cu marca " + dr["Marca"].ToString() + Environment.NewLine;
                    }
                    //ar trebui sa scriu intr-un fisier ca sa pot da un feedback
                    //if (esteLichidat)
                    //	mesajImport += "Angajatul " + dr["Nume si Prenume"].ToString() + " este lichidat.";
                }
            }
            ErrHandler.MyErrHandler.WriteError("SincronizareDateAngajati.ascx - end - ImportFisierSincronizare() - " + fileName);
            if (mesajImport.Equals(""))
            {
                mesajImport = "Sincronizarea datelor a fost realizata.";
            }
            return(mesajImport);
        }
Beispiel #3
0
        //Lungu Andreea - 03.11.2009
        public string ImportFisierDelegatii(string fileName)
        {
            ErrHandler.MyErrHandler.WriteError("ImportDelegatii.ascx - start - ImportDelegatii() - lunaID: " + lunaID + " - " + fileName);
            string marca = "", numePrenume = "", perioada = "", tipDelegatie = "", observatii = "";
            int    luna = 0, an = 0;

            tipDelegatie = "DE";
            observatii   = "";
            Salaries.Data.ImportFisier imp = new Salaries.Data.ImportFisier();
            DataTable dt = imp.GetDataTableFromImport(fileName);

            string mesajImport             = "";

            if (dt.Rows.Count == 0)
            {
                mesajImport = "Fisierul nu este in formatul corespunzator sau nu contine informatii.";
                ErrHandler.MyErrHandler.WriteError("ImportDelegatii.ascx - end - ImportDelegatii() - lunaID: " + lunaID + " - " + fileName);
                return(mesajImport);
            }
            bool okRow = false;

            //foreach (DataRow dr in dt.Rows)
            for (int index = 0; index < dt.Rows.Count; index++)
            {
                DataRow dr = dt.Rows[index];
                if (okRow && !dr.IsNull(3))
                {
                    #region preiau datele din row-ul respectiv
                    try
                    {
                        marca       = dr.ItemArray[2].ToString();                                    //marca
                        numePrenume = dr.ItemArray[3].ToString() + " " + dr.ItemArray[4].ToString(); //nume, prenume
                        perioada    = dr.ItemArray[5].ToString();                                    //Perioada depl
                        luna        = Int32.Parse(dr.ItemArray[7].ToString());                       //luna
                        an          = Int32.Parse(dr.ItemArray[8].ToString());                       //an
                    }
                    catch (Exception exc)
                    {
                        /*mesajImport += "Fisierul nu este in formatul corespunzator";
                         * ErrHandler.MyErrHandler.WriteError("ImportDelegatii.ascx - error - ImportDelegatii() - 'Fisierul nu este in formatul corespunzator' ");
                         * break;*/
                        mesajImport += "Datele pentru " + numePrenume + " nu sunt corecte." + Environment.NewLine;
                        ErrHandler.MyErrHandler.WriteError("ImportDelegatii.ascx - error - ImportDelegatii() - 'Datele pentru " + numePrenume + " nu sunt corecte.' - index row: " + dr.ToString());
                        //break;
                        //dr = dt.Rows[dt.Rows.
                    }
                    #endregion

                    #region determin id-ul angajatului pe baza marcii
                    //determin id-ul angajatului pe baza marcii
                    Salaries.Business.Angajat ang = new Salaries.Business.Angajat();
                    ang.Marca = marca;
                    int idAngajat = ang.GetAngajatIDByMarca(marca);
                    #endregion

                    //if ((idAngajat != -1) && (!esteLichidat))
                    if (idAngajat != -1)
                    {
                        if (!perioada.Equals("-"))
                        {
                            string[] perioade = perioada.Split(';');
                            for (int i = 0; i < perioade.Length; i++)
                            {
                                if (!perioade[i].Equals(""))
                                {
                                    #region dataInceput - dataSfarsit
                                    DateTime dataInceput = new DateTime();
                                    DateTime dataSfarsit = new DateTime();
                                    string[] sir         = perioade[i].Split('-');
                                    try
                                    {
                                        if (sir.Length == 1)                                         //am o singura zi, nu o perioada
                                        {
                                            dataInceput = new DateTime(an, luna, Int32.Parse(sir[0]));
                                            dataSfarsit = new DateTime(an, luna, Int32.Parse(sir[0]));
                                        }
                                        else
                                        {
                                            if (sir.Length == 2)                                              //am periada
                                            {
                                                dataInceput = new DateTime(an, luna, Int32.Parse(sir[0]));
                                                dataSfarsit = new DateTime(an, luna, Int32.Parse(sir[1]));
                                            }
                                            else
                                            {
                                                /*mesajImport += "Fisierul nu este in formatul corespunzator";
                                                 * ErrHandler.MyErrHandler.WriteError("ImportDelegatii.ascx - error - ImportDelegatii() - 'Fisierul nu este in formatul corespunzator' ");
                                                 * break;*/
                                                mesajImport += "Datele pentru " + numePrenume + " nu sunt corecte." + Environment.NewLine;
                                                ErrHandler.MyErrHandler.WriteError("ImportDelegatii.ascx - error - ImportDelegatii() - 'Datele pentru " + numePrenume + " nu sunt corecte.' - index row: " + dr.ToString());
                                                //break;
                                            }
                                        }
                                    }
                                    catch (Exception exc)
                                    {
                                        mesajImport += "Datele pentru " + numePrenume + " nu sunt corecte." + Environment.NewLine;
                                        ErrHandler.MyErrHandler.WriteError("ImportDelegatii.ascx - error - ImportDelegatii() - 'Datele pentru " + numePrenume + " nu sunt corecte.' - index row: " + dr.ToString());
                                    }
                                    #endregion

                                    #region verific daca dataInceput si dataSfarsit sunt in luna activa
                                    bool intervaleCorecte = true;
                                    if ((dataInceput < dataStartLunaActiva && dataSfarsit < dataStartLunaActiva) ||
                                        (dataInceput > dataEndLunaActiva && dataSfarsit > dataEndLunaActiva))
                                    {
                                        intervaleCorecte = false;
                                        mesajImport     += "Intervalele pt angajatul " + numePrenume + " nu sunt in luna curenta. " + Environment.NewLine;
                                    }
                                    else
                                    {
                                        if (dataInceput < dataStartLunaActiva && dataSfarsit >= dataStartLunaActiva && dataSfarsit <= dataEndLunaActiva)                                        //doar datasfarsit e in luna activa
                                        {
                                            dataInceput = dataStartLunaActiva;
                                        }
                                        if (dataInceput >= dataStartLunaActiva && dataInceput <= dataEndLunaActiva && dataSfarsit > dataEndLunaActiva)                                         //doar datainceput e in luna activa
                                        {
                                            dataSfarsit = dataEndLunaActiva;
                                        }
                                        if (dataInceput < dataStartLunaActiva && dataSfarsit > dataEndLunaActiva)
                                        {
                                            dataInceput = dataStartLunaActiva;
                                            dataSfarsit = dataEndLunaActiva;
                                        }
                                    }
                                    #endregion

                                    if (intervaleCorecte)
                                    {
                                        mesajImport += AddDelegatii(numePrenume, marca, dataInceput, dataSfarsit, tipDelegatie, observatii);
                                    }
                                }
                            }
                        }
                    }
                    else
                    {
                        if (!dr["Marca"].ToString().Equals(""))
                        {
                            mesajImport += "Nu exista angajatul cu marca " + dr["Marca"].ToString() + Environment.NewLine;
                        }
                        //ar trebui sa scriu intr-un fisier ca sa pot da un feedback
                        //if (esteLichidat)
                        //	mesajImport += "Angajatul " + dr["Nume si Prenume"].ToString() + " este lichidat.";
                    }
                }
                if (dr.ItemArray[0].ToString().Equals("Departament") && dr.ItemArray[1].ToString().Equals("Punct de lucru") && dr.ItemArray[2].ToString().Equals("Marca"))
                {
                    okRow = true;
                }
            }
            ErrHandler.MyErrHandler.WriteError("ImportDelegatii.ascx - end - ImportDelegatii() - lunaID: " + lunaID + " - " + fileName);
            return(mesajImport);
        }