Exemplo n.º 1
0
        private void ImporterRembourssement()
        {
            try
            {
                Dictionary <string, int> columns = new Dictionary <string, int>();

                using (ExcelPackage excelPackage = new ExcelPackage(new FileInfo(txtFile.Text)))
                {
                    var db = new CMIMEntities();

                    var           myWorksheet  = excelPackage.Workbook.Worksheets[1];
                    var           totalRows    = myWorksheet.Dimension.End.Row;
                    var           totalColumns = myWorksheet.Dimension.End.Column;
                    List <string> row;
                    bool          isAddedRemourssement = false;
                    Remboursser   remboursser          = null;
                    Dossiers      dossiers;
                    list          list = null;
                    string        referenceDoss;


                    row = myWorksheet.Cells[1, 1, 1, totalColumns].Select(c => c.Value == null ? string.Empty : c.Value.ToString()).ToList();

                    foreach (string s in row)
                    {
                        columns.Add(s, row.IndexOf(s));
                    }


                    for (int i = 2; i <= totalRows; i++)
                    {
                        if (!isAddedRemourssement)
                        {
                            remboursser = new Remboursser()
                            {
                                DateRembourssement = DateTime.Now
                            };
                            db.Remboursser.Add(remboursser);
                            db.SaveChanges();
                            txt_ConsoleLog.Invoke(new MethodInvoker(delegate
                            {
                                txt_ConsoleLog.AppendText(Environment.NewLine + "Info: Ajout du rembourssement à la base sous numéro:  " + remboursser.rembourssementId + " .");
                            }));
                            isAddedRemourssement = true;
                        }
                        row = myWorksheet.Cells[i, 1, i, totalColumns].Select(c => c.Value == null ? string.Empty : c.Value.ToString()).ToList();

                        referenceDoss = row[columns["Dossier"]];

                        dossiers = db.Dossiers.Where(D => D.referance == referenceDoss).FirstOrDefault();
                        if (dossiers != null)
                        {
                            if (dossiers.etat == "Envoyé à la CMIM")
                            {
                                dossiers.rembourse        = double.Parse(row[columns["Montant"]].Trim());
                                dossiers.rembourssementId = remboursser.rembourssementId;
                                dossiers.etat             = "Remboursé";

                                list = new list()
                                {
                                    Dossierreferance         = dossiers.referance,
                                    montant                  = dossiers.rembourse,
                                    RembouserembourssementId = remboursser.rembourssementId
                                };

                                db.list.Add(list);


                                db.SaveChanges();

                                txt_ConsoleLog.Invoke(new MethodInvoker(delegate
                                {
                                    txt_ConsoleLog.AppendText(Environment.NewLine + "Info: Modification du dossier: " + dossiers.referance + " au statut 'REMBOURSE' avec le montant de rembourssement = " + list.montant + " DHS.");
                                }));
                            }
                            else
                            {
                                txt_ConsoleLog.Invoke(new MethodInvoker(delegate
                                {
                                    txt_ConsoleLog.AppendText(Environment.NewLine + "Err: Le statut du dossier doit être 'Envoyé à la CMIM' avant d'importer le remboussement du dossier.");
                                }));
                            }
                        }
                        else
                        {
                            txt_ConsoleLog.Invoke(new MethodInvoker(delegate
                            {
                                txt_ConsoleLog.AppendText(Environment.NewLine + "Err: Le dossier " + row[columns["Dossier"]] + " n'existe pas dans la base de donnée.");
                            }));
                        }
                    }
                }
            }
            catch (DbEntityValidationException e)
            {
                foreach (var eve in e.EntityValidationErrors)
                {
                    foreach (var ve in eve.ValidationErrors)
                    {
                        MessageBox.Show("Msg: " + ve.ErrorMessage + "\n" + ve.PropertyName);
                    }
                }
            }
            catch (IOException exept)
            {
                MessageBox.Show(exept.Message, "Un Erreur a été survenue lors de l'ouverture et lecture du fichier", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            catch (Exception Err)
            {
                MessageBox.Show(Err.Message.ToString(), "Un Erreur s'est produit lors de la mise à jour des clients", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Exemplo n.º 2
0
        private void ImporterEmployees()
        {
            try
            {
                Dictionary <string, int> columns = new Dictionary <string, int>();

                using (ExcelPackage excelPackage = new ExcelPackage(new FileInfo(txtFile.Text)))
                {
                    var       db = new CMIMEntities();
                    employees e;

                    var           myWorksheet  = excelPackage.Workbook.Worksheets[1];
                    var           totalRows    = myWorksheet.Dimension.End.Row;
                    var           totalColumns = myWorksheet.Dimension.End.Column;
                    List <string> row;
                    string        matriculeEmployee;


                    row = myWorksheet.Cells[4, 1, 4, totalColumns].Select(c => c.Value == null ? string.Empty : c.Value.ToString()).ToList();

                    foreach (string s in row)
                    {
                        columns.Add(s, row.IndexOf(s));
                    }

                    Users users = db.Users.Where(U => U.Role == "Admin").FirstOrDefault();


                    for (int i = 5; i <= totalRows; i++)
                    {
                        row = myWorksheet.Cells[i, 1, i, totalColumns].Select(c => c.Value == null ? string.Empty : c.Value.ToString()).ToList();


                        matriculeEmployee = row[columns["Id Num Personne"]].Trim();

                        e = db.employees.Where(emp => emp.matricule == matriculeEmployee).FirstOrDefault();
                        if (e == null)
                        {
                            if (companies.ContainsKey(row[columns["Raison Sociale Col"]]))
                            {
                                e = new employees()
                                {
                                    matricule     = matriculeEmployee,
                                    first_name    = row[columns["Nom Per"]],
                                    last_name     = row[columns["Prenom Per"]],
                                    matriculecmim = matriculeEmployee,
                                    PlaceplacdeId = 1,
                                    company       = companies[row[columns["Raison Sociale Col"]]],
                                    UserId        = users.Id
                                };
                                db.employees.Add(e);
                                txt_ConsoleLog.Invoke(new MethodInvoker(delegate
                                {
                                    txt_ConsoleLog.AppendText(Environment.NewLine + "Info: Ajout effectué de l'employé: " + e.last_name + " " + e.first_name + " .");
                                }));
                                db.SaveChanges();
                            }
                            else
                            {
                                txt_ConsoleLog.Invoke(new MethodInvoker(delegate
                                {
                                    txt_ConsoleLog.AppendText(Environment.NewLine + "Err: La société de l'employée n'est pas correct.");
                                }));
                            }
                        }
                        else
                        {
                            txt_ConsoleLog.Invoke(new MethodInvoker(delegate
                            {
                                txt_ConsoleLog.AppendText(Environment.NewLine + "Err: L'employé " + row[columns["Nom Per"]] + " " + row[columns["Prenom Per"]] + " existe déjà dans la base de donnée.");
                            }));
                        }
                    }
                }
            }
            catch (DbEntityValidationException e)
            {
                foreach (var eve in e.EntityValidationErrors)
                {
                    foreach (var ve in eve.ValidationErrors)
                    {
                        MessageBox.Show("Msg: " + ve.ErrorMessage + "\n" + ve.PropertyName);
                    }
                }
            }
            catch (IOException exept)
            {
                MessageBox.Show(exept.Message, "Un Erreur a été survenue lors de l'ouverture et lecture du fichier", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            catch (Exception Err)
            {
                MessageBox.Show(Err.Message.ToString(), "Un Erreur s'est produit lors de la mise à jour des clients", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }