示例#1
0
        /// <summary>
        /// converte um objeto em uma célula excel para um DateTime nulável
        /// </summary>
        /// <param name="objtimeSpan"></param>
        /// <returns></returns>
        private DateTime?ExcelToNullableDateTime(object objtimeSpan)
        {
            DateTime?result = null;

            if ((objtimeSpan != null) && (objtimeSpan is DateTime))
            {
                result = ((DateTime)objtimeSpan);
            }
            else if ((objtimeSpan != null) && (objtimeSpan is Double))
            {
                result = DateTime.FromOADate((double)objtimeSpan);
            }
            else if ((objtimeSpan != null) && (objtimeSpan is string))
            {
                try
                {
                    result = TFWConvert.ToNullableDateTime(objtimeSpan.ToString());
                }
                catch
                {
                }
            }

            return(result);
        }
示例#2
0
        public async Task <JsonResult> Buscar(Dictionary <string, string>[] columns, Dictionary <string, string>[] order, Dictionary <string, string> search, string start, string length, string draw)
        {
            string procura = search["value"];
            string ordem   = order[0]["column"];
            string direcao = order[0]["dir"];

            string coluna = columns[TFWConvert.ToInteger(ordem)]["name"];

            if (string.IsNullOrWhiteSpace(coluna))
            {
                coluna = "Id";
            }
            string clausulaOrderBy = coluna + " " + direcao;

            int pageSize = length != null?Convert.ToInt32(length) : 0;

            int skip = start != null?Convert.ToInt32(start) : 0;

            var queryWhereClause = db.ProjectNodes
                                   .Include(x => x.NodeLabel)
                                   .Where(x => x.Nome.ToLower().Contains(procura.ToLower()) || x.Id.ToString() == procura.ToLower());

            var queryOrderByClause = await queryWhereClause
                                     .AsNoTracking()
                                     .Select(x => new
            {
                Id    = x.Id,
                Label = x.NodeLabel.Nome,
                Nome  = x.Nome,
                Pin   = x.Id
            })
                                     .OrderBy(clausulaOrderBy)
                                     .Skip(skip)
                                     .Take(pageSize)
                                     .ToListAsync();

            var dados = queryOrderByClause
                        .Select(x => new string[]
            {
                x.Id.ToString(),
                x.Label,
                x.Nome,
                x.Pin.ToString()
            })
                        .ToList();

            var resultados = new
            {
                draw            = draw,
                recordsTotal    = db.ProjectNodes.Count().ToString(),
                recordsFiltered = queryWhereClause.Count().ToString(),
                data            = dados,
            };

            return(Json(resultados, JsonRequestBehavior.AllowGet));
        }
示例#3
0
        public ActionResult Index(FormCollection formCollection)
        {
            CarregaTipos();
            CarregaProjetos();
            CarregaUsuarios();


            if (Request != null)
            {
                if (formCollection["IdUsuario"] != null)
                {
                    int IdUsuario = TFWConvert.ToInteger(formCollection["IdUsuario"]);
                    if (IdUsuario > 0)
                    {
                        HttpPostedFileBase file = Request.Files["UploadedFile"];
                        if ((file != null) && (file.ContentLength > 0) && !string.IsNullOrEmpty(file.FileName) && (Path.GetExtension(file.FileName).ToUpper() == ".XLSX"))
                        {
                            string fileName        = file.FileName;
                            string fileContentType = file.ContentType;

                            //byte[] fileBytes = new byte[file.ContentLength];
                            //var data = file.InputStream.Read(fileBytes, 0, Convert.ToInt32(file.ContentLength));

                            using (var package = new ExcelPackage(file.InputStream))
                            {
                                try
                                {
                                    ImportaPlanilhaApplication app = new ImportaPlanilhaApplication(this.db);
                                    var planilha = app.TransformarPlanilhaUsuario(IdUsuario, package);
                                    return(View("LancaPlanilha", planilha));
                                }
                                catch (Exception err)
                                {
                                    MensagemParaUsuarioViewModel.MensagemErro(err.Message, TempData, ModelState);
                                    LogServices.LogarException(err);
                                }
                            }
                        }
                        else
                        {
                            MensagemParaUsuarioViewModel.MensagemErro("Faça o upload de uma planilha de horários em excel .xlsx no padrão da Tecnun.", TempData, ModelState);
                        }
                    }
                    else
                    {
                        MensagemParaUsuarioViewModel.MensagemErro("Selecione um usuário válido", TempData, ModelState);
                    }
                }
                else
                {
                    MensagemParaUsuarioViewModel.MensagemErro("Não foi encontrado o Id do Usuário", TempData, ModelState);
                }
            }
            else
            {
                MensagemParaUsuarioViewModel.MensagemErro("Ocorreu algum erro e o request está nulo", TempData, ModelState);
            }



            return(View("Index"));
        }