Esempio n. 1
0
        private User GetUserFromSpreadSheet(int row, ExcelWorksheet sheet)
        {
            User user = new User();

            user.FirstName = (string)sheet.Cells[COLUMN_FIRSTNAME + Convert.ToString(row)].Value;
            user.LastName  = (string)sheet.Cells[COLUMN_LASTNAME + Convert.ToString(row)].Value;
            user.Sex       = (string)sheet.Cells[COLUMN_SEX + Convert.ToString(row)].Value;
            user.Level     = Convertors.GetMembershipLevel((string)sheet.Cells[COLUMN_LEVEL + Convert.ToString(row)].Value);
            user.Language  = (string)sheet.Cells[COLUMN_LANGUAGE + Convert.ToString(row)].Value;
            user.Email     = (string)sheet.Cells[COLUMN_EMAIL + Convert.ToString(row)].Value;

            if (sheet.Cells[COLUMN_PHONE + Convert.ToString(row)].Value != null)
            {
                string val;
                try
                {
                    val = (string)sheet.Cells[COLUMN_PHONE + Convert.ToString(row)].Value;
                }
                catch (InvalidCastException)
                {
                    try
                    {
                        val = Convert.ToString((string)sheet.Cells[COLUMN_PHONE + Convert.ToString(row)].Value);
                    }
                    catch (Exception)
                    {
                        val = "";
                    }
                }

                user.PhoneNumber = val;
            }

            bool isResponsible = false;

            if (sheet.Cells[COLUMN_RESPONSIBLE + Convert.ToString(row)].Value == null)
            {
                isResponsible = false;
            }
            else
            {
                string strValue = sheet.Cells[COLUMN_RESPONSIBLE + Convert.ToString(row)].Value.ToString().ToLowerInvariant();
                isResponsible = strValue.Equals("oui") ? true : false;
            }
            user.IsGroupResponsible = isResponsible;
            user.Town = (string)sheet.Cells[COLUMN_TOWN + Convert.ToString(row)].Value;
            // read zone if it is not availlable create it,
            Zone zone = new Zone();

            zone.Label  = (string)sheet.Cells[COLUMN_ZONE + Convert.ToString(row)].Value;
            zone.Id     = Zone.GetIdRefectoryIdByName(DBcontext, zone.Label);
            zone.Id     = zone.Persist();
            user.ZoneId = zone.Id;

            SousZone sousZone = new SousZone();

            sousZone.Label  = (string)sheet.Cells[COLUMN_SOUS_ZONE + Convert.ToString(row)].Value;
            sousZone.ZoneId = zone.Id;
            sousZone.Id     = sousZone.Persist();
            user.SousZoneId = sousZone.Id;

            Group group = new Group();

            group.ZoneId     = zone.Id;
            group.SousZoneId = sousZone.Id;
            group.Label      = (string)sheet.Cells[COLUMN_GROUP + Convert.ToString(row)].Value;
            group.Id         = group.Persist();
            user.GroupId     = group.Id;
            user.persist();
            return(user);
        }