コード例 #1
0
            private UserEventApplicationItem ParseToUserEventApplication(string[] userFile, List <string> keys)
            {
                var userItem = new UserEventApplicationItem
                {
                    Name  = userFile[0],
                    Email = userFile[1],
                    TranscribedParticipation = userFile[2],
                    GradeBaseValues          = new List <BaseValue>()
                };

                for (int i = 0; i < keys.Count; i++)
                {
                    var value = userFile[i + keysStartColumn].Replace("\r", "");
                    value = string.IsNullOrEmpty(value) ? "0" : value;
                    value = value.All(c => char.IsDigit(c) || c == '-' || c == ',' || c == '.') ? value : "0";
                    value = value.Any(c => char.IsDigit(c)) ? value : "0";
                    userItem.GradeBaseValues.Add(new BaseValue
                    {
                        Key   = keys[i],
                        Value = value
                    });
                }

                return(userItem);
            }
コード例 #2
0
            private List <UserEventApplicationItem> BuildFile(string file)
            {
                List <UserEventApplicationItem> usersFile = new List <UserEventApplicationItem>();
                List <string> keys = new List <string>();

                file = file.Substring(file.IndexOf(",", StringComparison.Ordinal) + 1);
                byte[] bytes = Convert.FromBase64String(file);
                using (MemoryStream stream = new MemoryStream(bytes))
                {
                    using (var xlPackage = new ExcelPackage(stream))
                    {
                        var baseWorksheet = xlPackage.Workbook.Worksheets[0];
                        var currentLine   = 2;


                        while (baseWorksheet.Cells[currentLine, 3].Value != null && baseWorksheet.Cells[currentLine, 2].Value != null)
                        {
                            /*
                             * Id
                             * Nome
                             * Email
                             * Data_Realização
                             * Case	Grupo
                             * Nota_QC
                             * Nota_TG
                             * Nota_FA
                             * Média_Autoavaliação
                             * Média_Nota_QC
                             * Média_Nota_TG
                             * Média_Nota_FA
                             * Média_Grupo
                             * Nota_Professor_Grupo
                             * Média_Final_Case
                             * Destaque_Justificativa
                             */

                            var user = new UserEventApplicationItem();
                            user.UserId = baseWorksheet.Cells[currentLine, 1].Value != null
                                ? ObjectId.Parse(baseWorksheet.Cells[currentLine, 1].Value?.ToString())
                                : ObjectId.Empty;

                            user.Name  = baseWorksheet.Cells[currentLine, 2].Value?.ToString();
                            user.Email = baseWorksheet.Cells[currentLine, 3].Value?.ToString();

                            var baseGrades = new List <BaseValue>();

                            var QcGrade         = baseWorksheet.Cells[currentLine, 11].Value?.ToString();
                            var TgGrade         = baseWorksheet.Cells[currentLine, 12].Value?.ToString();
                            var FaGrade         = baseWorksheet.Cells[currentLine, 13].Value?.ToString();
                            var finalGrade      = baseWorksheet.Cells[currentLine, 16].Value?.ToString();
                            var featuredStudent = baseWorksheet.Cells[currentLine, 17].Value?.ToString();

                            baseGrades.Add(new BaseValue()
                            {
                                Key   = "QC",
                                Value = QcGrade != null && decimal.TryParse(QcGrade, out decimal QC) ? QC.ToString() : "0"
                            });
コード例 #3
0
            private UserEventApplicationItem FillGradeFields(UserEventApplicationItem userEventApplicationItem)
            {
                //var autoQC = decimal.Parse(userEventApplicationItem.UserGradeBaseValues.First(x => x.Key == "Auto_QC").Value, CultureInfo.InvariantCulture);
                //var autoTG = decimal.Parse(userEventApplicationItem.UserGradeBaseValues.First(x => x.Key == "Auto_TG").Value, CultureInfo.InvariantCulture);
                //var autoFA = decimal.Parse(userEventApplicationItem.UserGradeBaseValues.First(x => x.Key == "Auto_FA").Value, CultureInfo.InvariantCulture);
                //var intragrupoQC = decimal.Parse(userEventApplicationItem.UserGradeBaseValues.First(x => x.Key == "Intragrupo_QC").Value, CultureInfo.InvariantCulture);
                //var intragrupoTG = decimal.Parse(userEventApplicationItem.UserGradeBaseValues.First(x => x.Key == "Intragrupo_TG").Value, CultureInfo.InvariantCulture);
                //var intragrupoFA = decimal.Parse(userEventApplicationItem.UserGradeBaseValues.First(x => x.Key == "Intragrupo_FA").Value, CultureInfo.InvariantCulture);
                //var notaProfessorGrupo = decimal.Parse(userEventApplicationItem.UserGradeBaseValues.First(x => x.Key == "Nota_Professor_Grupo").Value, CultureInfo.InvariantCulture);
                var QC = decimal.Parse(userEventApplicationItem.UserGradeBaseValues.First(x => x.Key == "QC").Value, CultureInfo.InvariantCulture);
                var TG = decimal.Parse(userEventApplicationItem.UserGradeBaseValues.First(x => x.Key == "TG").Value, CultureInfo.InvariantCulture);
                var FA = decimal.Parse(userEventApplicationItem.UserGradeBaseValues.First(x => x.Key == "FA").Value, CultureInfo.InvariantCulture);
                var featuredStudent = userEventApplicationItem.UserGradeBaseValues.First(x => x.Key == "featured_student").Value;

                //userEventApplicationItem.QCGrade = (autoQC * 1 / 10) + (intragrupoQC * 6 / 10) + (notaProfessorGrupo * 3 / 10);
                //userEventApplicationItem.TGGrade = (autoTG * 1 / 10) + (intragrupoTG * 6 / 10) + (notaProfessorGrupo * 3 / 10);
                //userEventApplicationItem.FAGrade = (autoFA * 1 / 10) + (intragrupoFA * 6 / 10) + (notaProfessorGrupo * 3 / 10);

                userEventApplicationItem.QCGrade = QC;
                userEventApplicationItem.TGGrade = TG;
                userEventApplicationItem.FAGrade = FA;

                return(userEventApplicationItem);
            }