Example #1
0
        public string LoadUsuarios()
        {
            HttpPostedFileBase fileUpload = Request.Files[0];
            var users = new List<EdayRoomUser>();

            if (fileUpload != null)
            {
                fileUpload.SaveAs(Server.MapPath("~/temp/" + fileUpload.FileName));
                var fi = new FileInfo(Server.MapPath("~/temp/" + fileUpload.FileName));
                var fiOut = new FileInfo(
                    Path.Combine(
                        Server.MapPath(ConfigurationManager.AppSettings["userFilesDirectory"]),
                        string.Format("{0}_" + fileUpload.FileName,
                                      DateTime.Now.ToString("yyyy_MM_dd_hh_mm_ss"))));
                var db = new edayRoomEntities();
                List<string> existingUsers = (from u in db.users
                                              select u.username).ToList();
                var package = new ExcelPackage(fi);
                var passwordPackage = new ExcelPackage();

                ExcelWorksheet worksheet = package.Workbook.Worksheets[1];
                passwordPackage.Workbook.Worksheets.Add("Passwords");
                ExcelWorksheet passwordWorksheet = passwordPackage.Workbook.Worksheets["Passwords"];
                passwordWorksheet.Cells[1, 1].Value = "Nombre";
                passwordWorksheet.Cells[1, 3].Value = "Apellido";
                passwordWorksheet.Cells[1, 3].Value = "usuario";
                passwordWorksheet.Cells[1, 4].Value = "password";

                for (int i = 2; i <= worksheet.Dimension.End.Row; i++)
                {
                    var nombre = (string) worksheet.Cells[i, 1].Value;
                    string apellido = worksheet.Cells[i, 2].Value == null ? "" : worksheet.Cells[i, 2].Value.ToString();
                    string grupo = (string) worksheet.Cells[i, 3].Value ?? "";
                    bool admin = ((string) worksheet.Cells[i, 4].Value).ToLower() == "si";
                    bool supervisor = ((string)worksheet.Cells[i, 5].Value).ToLower() == "si";
                    bool leader = ((string)worksheet.Cells[i, 6].Value).ToLower() == "si";
                    bool participacion = ((string) worksheet.Cells[i, 7].Value).ToLower() == "si";
                    bool movilizacion = ((string) worksheet.Cells[i, 8].Value).ToLower() == "si";
                    bool exitpolls = ((string) worksheet.Cells[i, 9].Value).ToLower() == "si";
                    bool quickcount = ((string) worksheet.Cells[i, 10].Value).ToLower() == "si";
                    bool totalizacion = ((string) worksheet.Cells[i, 11].Value).ToLower() == "si";
                    bool dashboard = ((string)worksheet.Cells[i, 12].Value).ToLower() == "si";
                    bool alertas = ((string)worksheet.Cells[i, 13].Value).ToLower() == "si";
                    var password = (worksheet.Cells[i, 14].Value == null ? "" : worksheet.Cells[i, 14].Value.ToString());
                    var u = new EdayRoomUser
                                {
                                    Name = nombre + " " + apellido,
                                    Password =
                                        string.IsNullOrWhiteSpace(password)
                                            ? PasswordManagement.GenerateRandomPassword(6)
                                            : password,
                                    Group = grupo,
                                    Admin = admin,
                                    Leader = leader,
                                    Participacion = participacion,
                                    Movilizacion = movilizacion,
                                    ExitPolls = exitpolls,
                                    QuickCount = quickcount,
                                    Totalizacion = totalizacion,
                                    Dashboard = dashboard
                                };
                    u.Username = nombre.Trim().Split(' ').First().ToLower() + "." + apellido.Trim().Split(' ').First().ToLower();
                    byte[] b = Encoding.GetEncoding(1251).GetBytes(u.Username);
                    u.Username = Encoding.ASCII.GetString(b);
                    int uid = 1;
                    if (existingUsers.Any(us => us == u.Username))
                    {
                        string original = u.Username;
                        while (true)
                        {
                            u.Username = original + "." + uid;
                            if (existingUsers.All(us => us != u.Username))
                            {
                                break;
                            }
                            uid++;
                        }
                    }
                    existingUsers.Add(u.Username);
                    worksheet.Cells[i, 3].Value = u.Username;
                    worksheet.Cells[i, 4].Value = u.Password;
                    users.Add(u);
                    string salt = "";
                    string passwordHash = u.Password;//PasswordManagement.GeneratePasswordHash(u.Password, out salt);

                    db.users.AddObject(new user
                                           {
                                               nombre = nombre,
                                               apellido = apellido,
                                               username = u.Username,
                                               salt = salt,
                                               hash = passwordHash,
                                               grupo = grupo,
                                               admin = admin,
                                               leader = leader,
                                               participacion = participacion,
                                               movilizacion = movilizacion,
                                               exitpolls = exitpolls,
                                               quickcount = quickcount,
                                               totalizacion = totalizacion,
                                               dashboard = dashboard,
                                               supervisor = supervisor,
                                               alertas = alertas
                                           });
                }

                db.UserFiles.AddObject(new UserFile
                                           {
                                               fileName = fiOut.Name
                                           });

                db.SaveChanges();

                package.SaveAs(fiOut);

                var errores = new List<string> {"error " + fileUpload.FileName};
            }
            return "YEAH";
        }
Example #2
0
        public string LoadUsuarios()
        {
            HttpPostedFileBase fileUpload = Request.Files[0];
            var users = new List <EdayRoomUser>();

            if (fileUpload != null)
            {
                fileUpload.SaveAs(Server.MapPath("~/temp/" + fileUpload.FileName));
                var fi    = new FileInfo(Server.MapPath("~/temp/" + fileUpload.FileName));
                var fiOut = new FileInfo(
                    Path.Combine(
                        Server.MapPath(ConfigurationManager.AppSettings["userFilesDirectory"]),
                        string.Format("{0}_" + fileUpload.FileName,
                                      DateTime.Now.ToString("yyyy_MM_dd_hh_mm_ss"))));
                var           db            = new edayRoomEntities();
                List <string> existingUsers = (from u in db.users
                                               select u.username).ToList();
                var package         = new ExcelPackage(fi);
                var passwordPackage = new ExcelPackage();

                ExcelWorksheet worksheet = package.Workbook.Worksheets[1];
                passwordPackage.Workbook.Worksheets.Add("Passwords");
                ExcelWorksheet passwordWorksheet = passwordPackage.Workbook.Worksheets["Passwords"];
                passwordWorksheet.Cells[1, 1].Value = "Nombre";
                passwordWorksheet.Cells[1, 3].Value = "Apellido";
                passwordWorksheet.Cells[1, 3].Value = "usuario";
                passwordWorksheet.Cells[1, 4].Value = "password";

                for (int i = 2; i <= worksheet.Dimension.End.Row; i++)
                {
                    var    nombre        = (string)worksheet.Cells[i, 1].Value;
                    string apellido      = worksheet.Cells[i, 2].Value == null ? "" : worksheet.Cells[i, 2].Value.ToString();
                    string grupo         = (string)worksheet.Cells[i, 3].Value ?? "";
                    bool   admin         = ((string)worksheet.Cells[i, 4].Value).ToLower() == "si";
                    bool   supervisor    = ((string)worksheet.Cells[i, 5].Value).ToLower() == "si";
                    bool   leader        = ((string)worksheet.Cells[i, 6].Value).ToLower() == "si";
                    bool   participacion = ((string)worksheet.Cells[i, 7].Value).ToLower() == "si";
                    bool   movilizacion  = ((string)worksheet.Cells[i, 8].Value).ToLower() == "si";
                    bool   exitpolls     = ((string)worksheet.Cells[i, 9].Value).ToLower() == "si";
                    bool   quickcount    = ((string)worksheet.Cells[i, 10].Value).ToLower() == "si";
                    bool   totalizacion  = ((string)worksheet.Cells[i, 11].Value).ToLower() == "si";
                    bool   dashboard     = ((string)worksheet.Cells[i, 12].Value).ToLower() == "si";
                    bool   alertas       = ((string)worksheet.Cells[i, 13].Value).ToLower() == "si";
                    var    password      = (worksheet.Cells[i, 14].Value == null ? "" : worksheet.Cells[i, 14].Value.ToString());
                    var    u             = new EdayRoomUser
                    {
                        Name     = nombre + " " + apellido,
                        Password =
                            string.IsNullOrWhiteSpace(password)
                                            ? PasswordManagement.GenerateRandomPassword(6)
                                            : password,
                        Group         = grupo,
                        Admin         = admin,
                        Leader        = leader,
                        Participacion = participacion,
                        Movilizacion  = movilizacion,
                        ExitPolls     = exitpolls,
                        QuickCount    = quickcount,
                        Totalizacion  = totalizacion,
                        Dashboard     = dashboard
                    };
                    u.Username = nombre.Trim().Split(' ').First().ToLower() + "." + apellido.Trim().Split(' ').First().ToLower();
                    byte[] b = Encoding.GetEncoding(1251).GetBytes(u.Username);
                    u.Username = Encoding.ASCII.GetString(b);
                    int uid = 1;
                    if (existingUsers.Any(us => us == u.Username))
                    {
                        string original = u.Username;
                        while (true)
                        {
                            u.Username = original + "." + uid;
                            if (existingUsers.All(us => us != u.Username))
                            {
                                break;
                            }
                            uid++;
                        }
                    }
                    existingUsers.Add(u.Username);
                    worksheet.Cells[i, 3].Value = u.Username;
                    worksheet.Cells[i, 4].Value = u.Password;
                    users.Add(u);
                    string salt         = "";
                    string passwordHash = u.Password;//PasswordManagement.GeneratePasswordHash(u.Password, out salt);

                    db.users.AddObject(new user
                    {
                        nombre        = nombre,
                        apellido      = apellido,
                        username      = u.Username,
                        salt          = salt,
                        hash          = passwordHash,
                        grupo         = grupo,
                        admin         = admin,
                        leader        = leader,
                        participacion = participacion,
                        movilizacion  = movilizacion,
                        exitpolls     = exitpolls,
                        quickcount    = quickcount,
                        totalizacion  = totalizacion,
                        dashboard     = dashboard,
                        supervisor    = supervisor,
                        alertas       = alertas
                    });
                }

                db.UserFiles.AddObject(new UserFile
                {
                    fileName = fiOut.Name
                });

                db.SaveChanges();

                package.SaveAs(fiOut);


                var errores = new List <string> {
                    "error " + fileUpload.FileName
                };
            }
            return("YEAH");
        }
        public ActionResult SetupUsers()
        {
            HttpPostedFileBase fileUpload = Request.Files[0];
            var users = new List <EdayRoomUser>();

            if (fileUpload != null)
            {
                fileUpload.SaveAs(Server.MapPath("~/temp/" + fileUpload.FileName));
                var fi    = new FileInfo(Server.MapPath("~/temp/" + fileUpload.FileName));
                var fiOut = new FileInfo(
                    Path.Combine(
                        Server.MapPath(ConfigurationManager.AppSettings["userFilesDirectory"]),
                        string.Format("{0}_" + fileUpload.FileName,
                                      DateTime.Now.ToString("yyyy_MM_dd_hh_mm_ss"))));
                var           db            = new edayRoomEntities();
                List <string> existingUsers = (from u in db.users
                                               select u.username).ToList();
                var            package   = new ExcelPackage(fi);
                ExcelWorksheet worksheet = package.Workbook.Worksheets[1];
                worksheet.Cells[1, 3].Value = "usuario";
                worksheet.Cells[1, 4].Value = "password";
                for (int i = 2; i <= worksheet.Dimension.End.Row; i++)
                {
                    var nombre   = (string)worksheet.Cells[i, 1].Value;
                    var apellido = (string)worksheet.Cells[i, 2].Value;
                    var u        = new EdayRoomUser
                    {
                        Name =
                            nombre + " " +
                            apellido,
                        Password = PasswordManagement.GenerateRandomPassword(6),
                    };
                    u.Username = u.Name.Replace(" ", ".").ToLower();
                    int uid = 1;
                    if (existingUsers.Any(us => us == u.Username))
                    {
                        string original = u.Username;
                        while (true)
                        {
                            u.Username = original + "." + uid;
                            if (existingUsers.All(us => us != u.Username))
                            {
                                break;
                            }
                            uid++;
                        }
                    }
                    existingUsers.Add(u.Username);
                    worksheet.Cells[i, 3].Value = u.Username;
                    worksheet.Cells[i, 4].Value = u.Password;
                    users.Add(u);
                    string salt         = "";
                    string passwordHash = PasswordManagement.GeneratePasswordHash(u.Password, out salt);

                    db.users.AddObject(new user
                    {
                        nombre   = nombre,
                        apellido = apellido,
                        username = u.Username,
                        salt     = salt,
                        hash     = passwordHash
                    });
                }

                db.UserFiles.AddObject(new UserFile
                {
                    fileName = fiOut.Name
                });

                db.SaveChanges();

                package.SaveAs(fiOut);
            }
            var errores = new List <string> {
                "error " + fileUpload.FileName
            };

            return(GetAllUsers(errores, users));
        }
Example #4
0
        public ActionResult SetupUsers()
        {
            HttpPostedFileBase fileUpload = Request.Files[0];
            var users = new List<EdayRoomUser>();

            if (fileUpload != null)
            {
                fileUpload.SaveAs(Server.MapPath("~/temp/" + fileUpload.FileName));
                var fi = new FileInfo(Server.MapPath("~/temp/" + fileUpload.FileName));
                var fiOut = new FileInfo(
                    Path.Combine(
                        Server.MapPath(ConfigurationManager.AppSettings["userFilesDirectory"]),
                        string.Format("{0}_" + fileUpload.FileName,
                                      DateTime.Now.ToString("yyyy_MM_dd_hh_mm_ss"))));
                var db = new edayRoomEntities();
                List<string> existingUsers = (from u in db.users
                                              select u.username).ToList();
                var package = new ExcelPackage(fi);
                ExcelWorksheet worksheet = package.Workbook.Worksheets[1];
                worksheet.Cells[1, 3].Value = "usuario";
                worksheet.Cells[1, 4].Value = "password";
                for (int i = 2; i <= worksheet.Dimension.End.Row; i++)
                {
                    var nombre = (string) worksheet.Cells[i, 1].Value;
                    var apellido = (string) worksheet.Cells[i, 2].Value;
                    var u = new EdayRoomUser
                                {
                                    Name =
                                        nombre + " " +
                                        apellido,
                                    Password = PasswordManagement.GenerateRandomPassword(6),
                                };
                    u.Username = u.Name.Replace(" ", ".").ToLower();
                    int uid = 1;
                    if (existingUsers.Any(us => us == u.Username))
                    {
                        string original = u.Username;
                        while (true)
                        {
                            u.Username = original + "." + uid;
                            if (existingUsers.All(us => us != u.Username))
                            {
                                break;
                            }
                            uid++;
                        }
                    }
                    existingUsers.Add(u.Username);
                    worksheet.Cells[i, 3].Value = u.Username;
                    worksheet.Cells[i, 4].Value = u.Password;
                    users.Add(u);
                    string salt = "";
                    string passwordHash = PasswordManagement.GeneratePasswordHash(u.Password, out salt);

                    db.users.AddObject(new user
                                           {
                                               nombre = nombre,
                                               apellido = apellido,
                                               username = u.Username,
                                               salt = salt,
                                               hash = passwordHash
                                           });
                }

                db.UserFiles.AddObject(new UserFile
                                           {
                                               fileName = fiOut.Name
                                           });

                db.SaveChanges();

                package.SaveAs(fiOut);
            }
            var errores = new List<string> {"error " + fileUpload.FileName};

            return GetAllUsers(errores, users);
        }