public ActionResult Cadastrar(DocumentosPessoal oDocumento)
        {
            if (ModelState.IsValid)
            {
                try
                {

                    DocumentosPessoalBusiness.Inserir(oDocumento);

                    TempData["MensagemSucesso"] = "O Documento '" + oDocumento.NomeDocumento + "' foi cadastrado com sucesso.";

                    return Json(new { resultado = new RetornoJSON() { URL = Url.Action("Index", "DocumentosPessoal") } });
                }
                catch (Exception ex)
                {
                    if (ex.GetBaseException() == null)
                    {
                        return Json(new { resultado = new RetornoJSON() { Erro = ex.Message } });
                    }
                    else
                    {
                        return Json(new { resultado = new RetornoJSON() { Erro = ex.GetBaseException().Message } });
                    }
                }

            }
            else
            {
                return Json(new { resultado = TratarRetornoValidacaoToJSON() });
            }
        }
        public ActionResult TerminarComRedirect(string IDDocumentosEmpregado, string NomeDocumento)
        {

            try
            {
                DocumentosPessoal oDocumentosPessoal = DocumentosPessoalBusiness.Consulta.FirstOrDefault(p => p.IDDocumentosEmpregado.Equals(IDDocumentosEmpregado));
                if (oDocumentosPessoal == null)
                {
                    return Json(new { resultado = new RetornoJSON() { Erro = "Não foi possível excluir este Documento." } });
                }
                else
                {
                    oDocumentosPessoal.DataExclusao = DateTime.Now;
                    oDocumentosPessoal.UsuarioExclusao = "LoginTeste";
                    DocumentosPessoalBusiness.Alterar(oDocumentosPessoal);

                    TempData["MensagemSucesso"] = "O Documento foi excluido com sucesso.";

                    return Json(new { resultado = new RetornoJSON() { URL = Url.Action("Index", "DocumentosPessoal") } });
                }
            }
            catch (Exception ex)
            {
                if (ex.GetBaseException() == null)
                {
                    return Json(new { resultado = new RetornoJSON() { Erro = ex.Message } });
                }
                else
                {
                    return Json(new { resultado = new RetornoJSON() { Erro = ex.GetBaseException().Message } });
                }
            }


        }
Ejemplo n.º 3
0
        public ActionResult Novo(string nome, string uk)
        {
            var UK = Guid.Parse(uk);

            ViewBag.Documentos = new SelectList(DocumentosPessoalBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList(), "UniqueKey", "NomeDocumento");

            ViewBag.IDAtividade = AtividadeBusiness.Consulta.Where(d => string.IsNullOrEmpty(d.UsuarioExclusao) && (d.UniqueKey.Equals(UK))).ToList();;
            ViewBag.idAtiv      = UK;

            ViewBag.Doc = DocsPorAtividadeBusiness.Consulta.Where(d => string.IsNullOrEmpty(d.UsuarioExclusao) && (d.UKAtividade.Equals(UK))).Count();


            string sql = @"select a.UniqueKey, a.Descricao as nome, d.UniqueKey as UniqueKeyD, d.NomeDocumento as NomeD, d.DescricaoDocumento as DescricaoD,
                            da.UKAtividade as rel1, da.UKDocumentoPessoal
                            from tbAtividade a 
                            left join REL_DocumentoPessoalAtividade da on da.UKAtividade = a.uniqueKey  
                            left join tbDocumentosPessoal d on d.UniqueKey = da.UKDocumentoPessoal  
                             where da.UKAtividade = '" + UK.ToString() + @"' order by d.NomeDocumento ";



            DataTable result = DocsPorAtividadeBusiness.GetDataTable(sql);

            List <DocumentosPessoal> lista = new List <DocumentosPessoal>();


            if (result.Rows.Count > 0)
            {
                DocumentosPessoal obj = null;

                foreach (DataRow row in result.Rows)
                {
                    if (result.Rows.Count > 0)
                    {
                        obj = new DocumentosPessoal()
                        {
                            UniqueKey     = Guid.Parse(row["UniqueKeyD"].ToString()),
                            NomeDocumento = row["NomeD"].ToString()
                        };
                    }
                }

                if (obj != null)
                {
                    lista.Add(obj);
                }
            }

            ViewBag.lista = lista;



            return(View());
        }
Ejemplo n.º 4
0
        public ActionResult TerminarComRedirect(string ID, string NomeDocumento)
        {
            var ID_Documento = Guid.Parse(ID);

            try
            {
                DocumentosPessoal oDocumentosPessoal = DocumentosPessoalBusiness.Consulta.FirstOrDefault(p => p.ID.Equals(ID_Documento));
                if (oDocumentosPessoal == null)
                {
                    return(Json(new { resultado = new RetornoJSON()
                                      {
                                          Erro = "Não foi possível excluir este Documento."
                                      } }));
                }
                else
                {
                    oDocumentosPessoal.DataExclusao    = DateTime.Now;
                    oDocumentosPessoal.UsuarioExclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login;
                    DocumentosPessoalBusiness.Alterar(oDocumentosPessoal);

                    Extensions.GravaCookie("MensagemSucesso", "O documento foi removido com sucesso.", 10);

                    return(Json(new { resultado = new RetornoJSON()
                                      {
                                          URL = Url.Action("Index", "DocumentosPessoal")
                                      } }));
                }
            }
            catch (Exception ex)
            {
                if (ex.GetBaseException() == null)
                {
                    return(Json(new { resultado = new RetornoJSON()
                                      {
                                          Erro = ex.Message
                                      } }));
                }
                else
                {
                    return(Json(new { resultado = new RetornoJSON()
                                      {
                                          Erro = ex.GetBaseException().Message
                                      } }));
                }
            }
        }
Ejemplo n.º 5
0
        public ActionResult ConfirmarDocumentoForAutoComplete(string key)
        {
            try
            {
                DocumentosPessoal item = DocumentosPessoalBusiness.Consulta.FirstOrDefault(a => a.NomeDocumento.ToUpper().Equals(key.ToUpper()));

                if (item == null)
                {
                    throw new Exception();
                }

                return(Json(new { Result = true }));
            }
            catch
            {
                return(Json(new { Result = false }));
            }
        }
Ejemplo n.º 6
0
        public ActionResult Cadastrar(DocumentosPessoal oDocumento)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    oDocumento.UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login;

                    DocumentosPessoalBusiness.Inserir(oDocumento);

                    Extensions.GravaCookie("MensagemSucesso", "O documento  '" + oDocumento.NomeDocumento + "' foi salvo com sucesso.", 10);

                    return(Json(new { resultado = new RetornoJSON()
                                      {
                                          URL = Url.Action("Index", "DocumentosPessoal")
                                      } }));
                }
                catch (Exception ex)
                {
                    if (ex.GetBaseException() == null)
                    {
                        return(Json(new { resultado = new RetornoJSON()
                                          {
                                              Erro = ex.Message
                                          } }));
                    }
                    else
                    {
                        return(Json(new { resultado = new RetornoJSON()
                                          {
                                              Erro = ex.GetBaseException().Message
                                          } }));
                    }
                }
            }
            else
            {
                return(Json(new { resultado = TratarRetornoValidacaoToJSON() }));
            }
        }
Ejemplo n.º 7
0
        public ActionResult VincularDocumentoAtividade(string UKAtividade, string UkDoc)
        {
            try
            {
                Guid UK_Atividade = Guid.Parse(UKAtividade);

                if (string.IsNullOrEmpty(UkDoc))
                {
                    throw new Exception("Não foi possível localizar a função.");
                }

                if (string.IsNullOrEmpty(UKAtividade))
                {
                    throw new Exception("Nenhuma  atividade recebida como parâmetro para vincular a função.");
                }


                if (UkDoc.Contains(","))
                {
                    foreach (string ativ in UkDoc.Split(','))
                    {
                        if (!string.IsNullOrEmpty(ativ.Trim()))
                        {
                            DocumentosPessoal pTemp = DocumentosPessoalBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.NomeDocumento.Equals(ativ.Trim()));
                            if (pTemp != null)
                            {
                                if (REL_DocomumentoPessoalAtividadeBusiness.Consulta.Where(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UKDocumentoPessoal.Equals(pTemp.UniqueKey) && a.UKAtividade.Equals(UK_Atividade)).Count() == 0)
                                {
                                    REL_DocomumentoPessoalAtividadeBusiness.Inserir(new REL_DocomumentoPessoalAtividade()
                                    {
                                        UKAtividade        = UK_Atividade,
                                        UKDocumentoPessoal = pTemp.UniqueKey,
                                        UsuarioInclusao    = CustomAuthorizationProvider.UsuarioAutenticado.Login
                                    });
                                }
                            }
                        }
                    }
                }
                else
                {
                    DocumentosPessoal pTemp = DocumentosPessoalBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.NomeDocumento.Equals(UkDoc.Trim()));

                    if (pTemp != null)
                    {
                        if (REL_DocomumentoPessoalAtividadeBusiness.Consulta.Where(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UKDocumentoPessoal.Equals(pTemp.UniqueKey) && a.UKAtividade.Equals(UK_Atividade)).Count() == 0)
                        {
                            REL_DocomumentoPessoalAtividadeBusiness.Inserir(new REL_DocomumentoPessoalAtividade()
                            {
                                UKAtividade        = UK_Atividade,
                                UKDocumentoPessoal = pTemp.UniqueKey,
                                UsuarioInclusao    = CustomAuthorizationProvider.UsuarioAutenticado.Login
                            });
                        }
                    }
                }

                return(Json(new { resultado = new RetornoJSON()
                                  {
                                      Sucesso = "Documento vinculado a Atividade com sucesso."
                                  } }));
            }
            catch (Exception ex)
            {
                return(Json(new { resultado = new RetornoJSON()
                                  {
                                      Erro = ex.Message
                                  } }));
            }
        }
Ejemplo n.º 8
0
        public ActionResult ListaDocumentoPessoal()
        {
            string sql = @"select a.UniqueKey as UK_Ativ, a.Descricao as nome, d.UniqueKey, d.NomeDocumento as NomeD, d.DescricaoDocumento as DescricaoD,
                            da.UKAtividade as rel1, da.UKDocumentoPessoal as rel2
                            from tbAtividade a 
                            left join REL_DocumentoPessoalAtividade da on da.UKAtividade = a.uniqueKey and a.DataExclusao = CONVERT(datetime,'9999-12-31 23:59:59.997',101)
                            left join tbDocumentosPessoal d on d.UniqueKey = da.UKDocumentoPessoal  and d.DataExclusao =CONVERT(datetime,'9999-12-31 23:59:59.997',101)
                            order by nome";


            DataTable result = AtividadeBusiness.GetDataTable(sql);

            List <Atividade> lista = new List <Atividade>();

            if (result.Rows.Count > 0)
            {
                Atividade         obj        = null;
                DocumentosPessoal oDocumento = null;

                foreach (DataRow row in result.Rows)
                {
                    if (obj == null)
                    {
                        obj = new Atividade()
                        {
                            UniqueKey         = Guid.Parse(row["UK_Ativ"].ToString()),
                            Descricao         = row["nome"].ToString(),
                            DocumentosPessoal = new List <DocumentosPessoal>()
                        };

                        if (!string.IsNullOrEmpty(row["rel2"].ToString()))
                        {
                            oDocumento = new DocumentosPessoal()
                            {
                                UniqueKey          = Guid.Parse(row["rel2"].ToString()),
                                DescricaoDocumento = row["DescricaoD"].ToString(),
                                NomeDocumento      = row["NomeD"].ToString(),
                            };

                            obj.DocumentosPessoal.Add(oDocumento);
                        }
                    }
                    //se a atividade for a mesma, carregar outro documento
                    else if (obj.UniqueKey.Equals(Guid.Parse(row["UK_Ativ"].ToString())))
                    {
                        if (!string.IsNullOrEmpty(row["rel2"].ToString()))
                        {
                            if (oDocumento == null)
                            {
                                oDocumento = new DocumentosPessoal()
                                {
                                    UniqueKey          = Guid.Parse(row["rel2"].ToString()),
                                    DescricaoDocumento = row["DescricaoD"].ToString(),
                                    NomeDocumento      = row["NomeD"].ToString(),
                                };

                                obj.DocumentosPessoal.Add(oDocumento);
                            }

                            else if (oDocumento.UniqueKey.ToString().Equals(row["rel2"].ToString()))

                            {
                                DocumentosPessoal pTemp = obj.DocumentosPessoal.FirstOrDefault(a => a.NomeDocumento.Equals(row["NomeD"].ToString()));

                                if (pTemp == null)
                                {
                                    oDocumento = new DocumentosPessoal()
                                    {
                                        UniqueKey          = Guid.Parse(row["rel2"].ToString()),
                                        DescricaoDocumento = row["DescricaoD"].ToString(),
                                        NomeDocumento      = row["NomeD"].ToString(),
                                    };

                                    obj.DocumentosPessoal.Add(oDocumento);
                                }
                            }
                            else
                            {
                                oDocumento = new DocumentosPessoal()
                                {
                                    UniqueKey          = Guid.Parse(row["rel2"].ToString()),
                                    DescricaoDocumento = row["DescricaoD"].ToString(),
                                    NomeDocumento      = row["NomeD"].ToString(),
                                };

                                if (!string.IsNullOrEmpty(row["rel2"].ToString()))
                                {
                                    oDocumento = new DocumentosPessoal()
                                    {
                                        UniqueKey          = Guid.Parse(row["rel2"].ToString()),
                                        DescricaoDocumento = row["DescricaoD"].ToString(),
                                        NomeDocumento      = row["NomeD"].ToString(),
                                    };
                                }

                                obj.DocumentosPessoal.Add(oDocumento);
                            }
                        }
                    }

                    else
                    {
                        lista.Add(obj);

                        obj = new Atividade()
                        {
                            UniqueKey         = Guid.Parse(row["UK_Ativ"].ToString()),
                            Descricao         = row["nome"].ToString(),
                            DocumentosPessoal = new List <DocumentosPessoal>()
                        };

                        if (!string.IsNullOrEmpty(row["rel2"].ToString()))
                        {
                            oDocumento = new DocumentosPessoal()
                            {
                                UniqueKey          = Guid.Parse(row["rel2"].ToString()),
                                DescricaoDocumento = row["DescricaoD"].ToString(),
                                NomeDocumento      = row["NomeD"].ToString(),
                            };

                            obj.DocumentosPessoal.Add(oDocumento);
                        }
                    }
                }

                if (obj != null)
                {
                    lista.Add(obj);
                }
            }

            return(View("_ListaDocumento", lista));
        }
Ejemplo n.º 9
0
        public ActionResult Novo(string UKAlocacao)
        {
            Guid Alock = Guid.Parse(UKAlocacao);

            ViewBag.Aloc = Alock;

            List <Alocacao> lista = new List <Alocacao>();


            var sql = @"select al.UniqueKey as UKal, fa.UniqueKey as UKfa, d.UniqueKey as UKd, d.NomeDocumento as Nome,
                        da.UniqueKey as UKda
                        from tbAlocacao al
                        join REL_FuncaoAtividade fa
                        on al.UKFuncao = fa.UKFuncao
                        join REL_DocumentoPessoalAtividade da
                        on fa.UKAtividade = da.UKAtividade
                        join tbDocumentosPessoal d
                        on da.UKDocumentoPessoal = d.UniqueKey and d.DataExclusao = '9999-12-31 23:59:59.997'
                        where al.UniqueKey = '" + Alock + @"'
                        order by al.UniqueKey ";

            DataTable result = DocumentosPessoalBusiness.GetDataTable(sql);

            if (result.Rows.Count > 0)
            {
                Alocacao          obj  = null;
                DocumentosPessoal oDoc = null;

                foreach (DataRow row in result.Rows)
                {
                    if (obj == null)
                    {
                        obj = new Alocacao()
                        {
                            UniqueKey         = Guid.Parse(row["UKal"].ToString()),
                            DocumentosPessoal = new List <DocumentosPessoal>()
                        };

                        if (!string.IsNullOrEmpty(row["UKd"].ToString()))
                        {
                            oDoc = new DocumentosPessoal()
                            {
                                UniqueKey     = Guid.Parse(row["UKd"].ToString()),
                                NomeDocumento = row["nome"].ToString(),
                            };


                            obj.DocumentosPessoal.Add(oDoc);
                        }
                    }
                    else if (obj.UniqueKey.Equals(Guid.Parse(row["UKal"].ToString())))
                    {
                        if (!string.IsNullOrEmpty(row["UKda"].ToString()))
                        {
                            if (oDoc == null)
                            {
                                oDoc = new DocumentosPessoal()
                                {
                                    UniqueKey     = Guid.Parse(row["UKd"].ToString()),
                                    NomeDocumento = row["nome"].ToString(),
                                };

                                obj.DocumentosPessoal.Add(oDoc);
                            }


                            else
                            {
                                oDoc = new DocumentosPessoal()
                                {
                                    UniqueKey     = Guid.Parse(row["UKd"].ToString()),
                                    NomeDocumento = row["nome"].ToString(),
                                };

                                obj.DocumentosPessoal.Add(oDoc);
                            }
                        }
                    }
                    else
                    {
                        lista.Add(obj);

                        obj = new Alocacao()
                        {
                            UniqueKey         = Guid.Parse(row["UKal"].ToString()),
                            DocumentosPessoal = new List <DocumentosPessoal>()
                        };

                        if (!string.IsNullOrEmpty(row["UKd"].ToString()))
                        {
                            oDoc = new DocumentosPessoal()
                            {
                                UniqueKey     = Guid.Parse(row["UKd"].ToString()),
                                NomeDocumento = row["nome"].ToString(),
                            };


                            obj.DocumentosPessoal.Add(oDoc);
                        }
                    }
                }

                if (obj != null)
                {
                    lista.Add(obj);
                }
            }



            return(View(lista));
        }
Ejemplo n.º 10
0
        public ActionResult Cadastrar(string UKAlocacao, string UKDoc)
        {
            var documento = UKDoc;

            try
            {
                Guid UK_Alocacao = Guid.Parse(UKAlocacao);

                if (string.IsNullOrEmpty(UKAlocacao))
                {
                    throw new Exception("Não foi possível localizar a Alocação.");
                }

                if (string.IsNullOrEmpty(documento))
                {
                    throw new Exception("Nenhum Documento para vincular.");
                }


                if (documento.Contains(","))
                {
                    documento = documento.Remove(documento.Length - 1);

                    foreach (string ativ in documento.Split(','))
                    {
                        if (!string.IsNullOrEmpty(ativ.Trim()))
                        {
                            DocumentosPessoal pTemp = DocumentosPessoalBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.NomeDocumento.Equals(ativ.Trim()));
                            if (pTemp != null)
                            {
                                if (REL_DocumentosAlocadoBusiness.Consulta.Where(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UKDocumento.Equals(pTemp.UniqueKey) && a.UKAlocacao.Equals(UK_Alocacao)).Count() == 0)
                                {
                                    REL_DocumentosAlocadoBusiness.Inserir(new REL_DocumentosAlocados()
                                    {
                                        Posicao         = 0,
                                        UKAlocacao      = UK_Alocacao,
                                        UKDocumento     = pTemp.UniqueKey,
                                        DataDocumento   = DateTime.MaxValue,
                                        UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login
                                    });
                                }
                                else
                                {
                                    return(Json(new { resultado = new RetornoJSON()
                                                      {
                                                          Erro = "Este documento já está cadastrado para esta alocação!."
                                                      } }));
                                }
                            }
                        }
                    }
                }
                else
                {
                    DocumentosPessoal pTemp = DocumentosPessoalBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.NomeDocumento.Equals(documento.Trim()));
                    if (pTemp != null)
                    {
                        if (REL_DocumentosAlocadoBusiness.Consulta.Where(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UKDocumento.Equals(pTemp.UniqueKey) && a.UKAlocacao.Equals(UK_Alocacao)).Count() == 0)
                        {
                            REL_DocumentosAlocadoBusiness.Inserir(new REL_DocumentosAlocados()
                            {
                                UKAlocacao      = UK_Alocacao,
                                UKDocumento     = pTemp.UniqueKey,
                                UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login
                            });
                        }
                    }
                }



                Extensions.GravaCookie("MensagemSucesso", "Os documentos foram alocados com sucesso!", 10);

                //return RedirectToAction("ConfirmaData", "DocumentoAlocacao", UK_Alocacao) ;

                return(Json(new { resultado = new RetornoJSON()
                                  {
                                      URL = Url.Action("ConfirmaData", "DocumentoAlocacao", UK_Alocacao)
                                  } }));
            }
            catch (Exception ex)
            {
                return(Json(new { resultado = new RetornoJSON()
                                  {
                                      Erro = ex.Message
                                  } }));
            }
        }
Ejemplo n.º 11
0
        public ActionResult Cadastrar(Alocacao entidade)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    Admissao oAdmissao = AdmissaoBusiness.Consulta.FirstOrDefault(p => string.IsNullOrEmpty(p.UsuarioExclusao) && p.UniqueKey.Equals(entidade.UKAdmissao));
                    if (oAdmissao == null)
                    {
                        throw new Exception("Não foi possível encontrar a admissão na base de dados.");
                    }


                    Empregado emp = EmpregadoBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UniqueKey.Equals(oAdmissao.UKEmpregado));
                    if (emp == null)
                    {
                        throw new Exception("Não foi possível encontrar o empregado na base de dados.");
                    }



                    if (AlocacaoBusiness.Consulta.Where(a => string.IsNullOrEmpty(a.UsuarioExclusao) &&
                                                        a.UKAdmissao.Equals(entidade.UKAdmissao) &&
                                                        a.UKCargo.Equals(entidade.UKCargo) &&
                                                        a.UKFuncao.Equals(entidade.UKFuncao)).Count() > 0)
                    {
                        throw new Exception("Já existe uma alocação deste empregado neste cargo e função selecionado.");
                    }
                    else
                    {
                        entidade.UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login;
                        AlocacaoBusiness.Inserir(entidade);


                        Usuario usr = UsuarioBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.Login.Equals(emp.CPF.Replace(".", "").Replace("-", "")));
                        if (usr == null)
                        {
                            // string Senha = GISHelpers.Utils.Severino.GeneratePassword();

                            string Senha = "escola10";

                            usr = new Usuario()
                            {
                                UniqueKey       = Guid.NewGuid(),
                                CPF             = emp.CPF,
                                Nome            = emp.Nome,
                                UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login,
                                Email           = emp.Email,
                                Login           = emp.CPF.Replace(".", "").Replace("-", ""),
                                Senha           = Senha,
                                TipoDeAcesso    = GISModel.Enums.TipoDeAcesso.Sistema,
                                UKEmpresa       = oAdmissao.UKEmpresa,
                                UKDepartamento  = entidade.UKDepartamento
                            };

                            UsuarioBusiness.Inserir(usr);

                            Perfil per = PerfilBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.Nome.Equals("Empregado"));
                            if (per != null)
                            {
                                UsuarioPerfilBusiness.Inserir(new UsuarioPerfil()
                                {
                                    UKPerfil        = per.UniqueKey,
                                    UKUsuario       = usr.UniqueKey,
                                    UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login,
                                    UKConfig        = entidade.UKDepartamento
                                });
                            }
                        }

                        //Cadastrando os documentos relacionados com a atividade alocada.


                        var aloc = @"select top 1  UniqueKey, DataInclusao  from tbAlocacao LAST_INSET_ID ORDER BY DataInclusao DESC  ";

                        List <Alocacao> lista1 = new List <Alocacao>();

                        DataTable result1 = DocumentosPessoalBusiness.GetDataTable(aloc);

                        if (result1.Rows.Count > 0)
                        {
                            Alocacao UkAloc = null;
                            Guid     ukal   = Guid.Empty;

                            foreach (DataRow row in result1.Rows)
                            {
                                if (UkAloc == null)
                                {
                                    UkAloc = new Alocacao()
                                    {
                                        UniqueKey = Guid.Parse(row["UniqueKey"].ToString())
                                    };
                                }
                            }

                            if (UkAloc != null)
                            {
                                lista1.Add(UkAloc);
                            }

                            foreach (var item in lista1)
                            {
                                if (item != null)
                                {
                                    ukal = item.UniqueKey;
                                }
                            }


                            //ukal = Uniquekey da ultima alocaçao


                            List <Alocacao> lista = new List <Alocacao>();

                            // aqui faço uma pesquisa de documentos relacionados a atividade

                            var sql = @"select al.UniqueKey as UKal, fa.UniqueKey as UKfa, d.UniqueKey as UKd, d.NomeDocumento as Nome,
                        da.UniqueKey as UKda
                        from tbAlocacao al
                        join REL_FuncaoAtividade fa
                        on al.UKFuncao = fa.UKFuncao
                        join REL_DocumentoPessoalAtividade da
                        on fa.UKAtividade = da.UKAtividade
                        join tbDocumentosPessoal d
                        on da.UKDocumentoPessoal = d.UniqueKey and d.DataExclusao = CONVERT(datetime,'9999-12-31 23:59:59.997',101)
                        where al.UniqueKey = '" + ukal + @"'
                        order by al.UniqueKey ";

                            DataTable result = DocumentosPessoalBusiness.GetDataTable(sql);

                            //abaixo monto uma lista de objetos com a Uniquekey da alocação e a relação de documentos relacionados a atividade alocada

                            if (result.Rows.Count > 0)
                            {
                                Alocacao          obj  = null;
                                DocumentosPessoal oDoc = null;

                                foreach (DataRow row in result.Rows)
                                {
                                    if (obj == null)
                                    {
                                        obj = new Alocacao()
                                        {
                                            UniqueKey         = Guid.Parse(row["UKal"].ToString()),
                                            DocumentosPessoal = new List <DocumentosPessoal>()
                                        };

                                        if (!string.IsNullOrEmpty(row["UKd"].ToString()))
                                        {
                                            oDoc = new DocumentosPessoal()
                                            {
                                                UniqueKey     = Guid.Parse(row["UKd"].ToString()),
                                                NomeDocumento = row["nome"].ToString(),
                                            };


                                            obj.DocumentosPessoal.Add(oDoc);
                                        }
                                    }
                                    else if (obj.UniqueKey.Equals(Guid.Parse(row["UKal"].ToString())))
                                    {
                                        if (!string.IsNullOrEmpty(row["UKda"].ToString()))
                                        {
                                            if (oDoc == null)
                                            {
                                                oDoc = new DocumentosPessoal()
                                                {
                                                    UniqueKey     = Guid.Parse(row["UKd"].ToString()),
                                                    NomeDocumento = row["nome"].ToString(),
                                                };

                                                obj.DocumentosPessoal.Add(oDoc);
                                            }


                                            else
                                            {
                                                oDoc = new DocumentosPessoal()
                                                {
                                                    UniqueKey     = Guid.Parse(row["UKd"].ToString()),
                                                    NomeDocumento = row["nome"].ToString(),
                                                };

                                                obj.DocumentosPessoal.Add(oDoc);
                                            }
                                        }
                                    }
                                    else
                                    {
                                        lista.Add(obj);

                                        obj = new Alocacao()
                                        {
                                            UniqueKey         = Guid.Parse(row["UKal"].ToString()),
                                            DocumentosPessoal = new List <DocumentosPessoal>()
                                        };

                                        if (!string.IsNullOrEmpty(row["UKd"].ToString()))
                                        {
                                            oDoc = new DocumentosPessoal()
                                            {
                                                UniqueKey     = Guid.Parse(row["UKd"].ToString()),
                                                NomeDocumento = row["nome"].ToString(),
                                            };


                                            obj.DocumentosPessoal.Add(oDoc);
                                        }
                                    }
                                }

                                if (obj != null)
                                {
                                    lista.Add(obj);
                                }


                                if (lista == null)
                                {
                                    throw new Exception("Nenhum Documento para vincular.");
                                }

                                string documento = string.Empty;

                                foreach (var item in obj.DocumentosPessoal)
                                {
                                    if (item != null)
                                    {
                                        documento += item.NomeDocumento + ",";
                                    }
                                }

                                // se vier uma array entra aqui neste if

                                if (documento.Contains(","))
                                {
                                    documento = documento.Remove(documento.Length - 1);

                                    foreach (string ativ in documento.Split(','))
                                    {
                                        if (!string.IsNullOrEmpty(ativ.Trim()))
                                        {
                                            DocumentosPessoal pTemp = DocumentosPessoalBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.NomeDocumento.Equals(ativ.Trim()));
                                            if (pTemp != null)
                                            {
                                                if (REL_DocumentosAlocadoBusiness.Consulta.Where(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UKDocumento.Equals(pTemp.UniqueKey) && a.UKAlocacao.Equals(ukal)).Count() == 0)
                                                {
                                                    REL_DocumentosAlocadoBusiness.Inserir(new REL_DocumentosAlocados()
                                                    {
                                                        Posicao         = 0,
                                                        UKAlocacao      = ukal,
                                                        UKDocumento     = pTemp.UniqueKey,
                                                        DataDocumento   = DateTime.MaxValue,
                                                        UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login
                                                    });
                                                }
                                                //else
                                                //{
                                                //    return Json(new { resultado = new RetornoJSON() { Erro = "Este documento já está cadastrado para esta alocação!." } });
                                                //}
                                            }
                                        }
                                    }
                                }

                                // se vier somente um documento entre aqui
                                else
                                {
                                    DocumentosPessoal pTemp = DocumentosPessoalBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.NomeDocumento.Equals(documento.Trim()));
                                    if (pTemp != null)
                                    {
                                        if (REL_DocumentosAlocadoBusiness.Consulta.Where(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UKDocumento.Equals(pTemp.UniqueKey) && a.UKAlocacao.Equals(ukal)).Count() == 0)
                                        {
                                            REL_DocumentosAlocadoBusiness.Inserir(new REL_DocumentosAlocados()
                                            {
                                                UKAlocacao      = ukal,
                                                UKDocumento     = pTemp.UniqueKey,
                                                UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login
                                            });
                                        }
                                    }
                                }
                            }
                        }


                        Extensions.GravaCookie("MensagemSucesso", "O empregado foi alocado com sucesso.", 10);

                        return(Json(new { resultado = new RetornoJSON()
                                          {
                                              URL = Url.Action("Perfil", "Empregado", new { id = oAdmissao.UKEmpregado.ToString() })
                                          } }));
                    }
                }
                catch (Exception ex)
                {
                    if (ex.GetBaseException() == null)
                    {
                        return(Json(new { resultado = new RetornoJSON()
                                          {
                                              Erro = ex.Message
                                          } }));
                    }
                    else
                    {
                        return(Json(new { resultado = new RetornoJSON()
                                          {
                                              Erro = ex.GetBaseException().Message
                                          } }));
                    }
                }
            }
            else
            {
                return(Json(new { resultado = TratarRetornoValidacaoToJSON() }));
            }
        }
Ejemplo n.º 12
0
        public ActionResult Cadastrar(Admissao entidade)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    Empregado oEmp = EmpregadoBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UniqueKey.Equals(entidade.UKEmpregado));
                    if (oEmp == null)
                    {
                        throw new Exception("Não foi possível encontrar o empregado relacionado a admissão.");
                    }

                    entidade.Status          = GISModel.Enums.Situacao.Ativo;
                    entidade.UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login;
                    AdmissaoBusiness.Inserir(entidade);

                    oEmp.UsuarioExclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login;
                    EmpregadoBusiness.Terminar(oEmp);

                    EmpregadoBusiness.Inserir(new Empregado()
                    {
                        CPF             = oEmp.CPF,
                        Nome            = oEmp.Nome,
                        DataNascimento  = oEmp.DataNascimento,
                        Email           = oEmp.Email,
                        UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login,
                        UniqueKey       = oEmp.UniqueKey,
                        Status          = "Atualmente admitido"
                    });

                    var adm = @"select top 1  UniqueKey, DataInclusao  from tbAdmissao LAST_INSET_ID ORDER BY DataInclusao DESC  ";

                    List <Admissao> lista1 = new List <Admissao>();

                    DataTable result1 = DocumentosPessoalBusiness.GetDataTable(adm);

                    if (result1.Rows.Count > 0)
                    {
                        Admissao UkAdm      = null;
                        Guid     ukadmissao = Guid.Empty;

                        foreach (DataRow row in result1.Rows)
                        {
                            if (UkAdm == null)
                            {
                                UkAdm = new Admissao()
                                {
                                    UniqueKey = Guid.Parse(row["UniqueKey"].ToString())
                                };
                            }
                        }

                        if (UkAdm != null)
                        {
                            lista1.Add(UkAdm);
                        }

                        foreach (var item in lista1)
                        {
                            if (item != null)
                            {
                                ukadmissao = item.UniqueKey;
                            }
                        }


                        //ukad = Uniquekey da ultima admissao


                        List <Admissao> lista = new List <Admissao>();

                        // aqui faço uma pesquisa de documentos relacionados a admissao

                        var sql = @"select UniqueKey as UKad, NomeDocumento as nome from tbDocumentosPessoal where Tipo = 1";

                        DataTable result = DocumentosPessoalBusiness.GetDataTable(sql);

                        //abaixo monto uma lista de objetos com a Uniquekey da alocação e a relação de documentos relacionados a atividade alocada

                        if (result.Rows.Count > 0)
                        {
                            Admissao          obj  = null;
                            DocumentosPessoal oDoc = null;

                            foreach (DataRow row in result.Rows)
                            {
                                if (obj == null)
                                {
                                    obj = new Admissao()
                                    {
                                        UniqueKey         = ukadmissao,
                                        DocumentosPessoal = new List <DocumentosPessoal>()
                                    };

                                    if (!string.IsNullOrEmpty(row["UKad"].ToString()))
                                    {
                                        oDoc = new DocumentosPessoal()
                                        {
                                            UniqueKey     = ukadmissao,
                                            NomeDocumento = row["nome"].ToString(),
                                        };


                                        obj.DocumentosPessoal.Add(oDoc);
                                    }
                                }
                                else if (obj.UniqueKey.Equals(Guid.Parse(row["UKad"].ToString())))
                                {
                                    if (!string.IsNullOrEmpty(row["UKad"].ToString()))
                                    {
                                        if (oDoc == null)
                                        {
                                            oDoc = new DocumentosPessoal()
                                            {
                                                UniqueKey     = ukadmissao,
                                                NomeDocumento = row["nome"].ToString(),
                                            };

                                            obj.DocumentosPessoal.Add(oDoc);
                                        }


                                        else
                                        {
                                            oDoc = new DocumentosPessoal()
                                            {
                                                UniqueKey     = ukadmissao,
                                                NomeDocumento = row["nome"].ToString(),
                                            };

                                            obj.DocumentosPessoal.Add(oDoc);
                                        }
                                    }
                                }
                                else
                                {
                                    lista.Add(obj);

                                    obj = new Admissao()
                                    {
                                        UniqueKey         = ukadmissao,
                                        DocumentosPessoal = new List <DocumentosPessoal>()
                                    };

                                    if (!string.IsNullOrEmpty(row["UKad"].ToString()))
                                    {
                                        oDoc = new DocumentosPessoal()
                                        {
                                            UniqueKey     = ukadmissao,
                                            NomeDocumento = row["nome"].ToString(),
                                        };


                                        obj.DocumentosPessoal.Add(oDoc);
                                    }
                                }
                            }

                            if (obj != null)
                            {
                                lista.Add(obj);
                            }


                            if (lista == null)
                            {
                                throw new Exception("Nenhum Documento para vincular.");
                            }

                            string documento = string.Empty;

                            foreach (var item in lista)
                            {
                                if (item != null)
                                {
                                    foreach (var item2 in item.DocumentosPessoal)
                                    {
                                        documento += item2.NomeDocumento + ",";
                                    }
                                }
                            }

                            // se vier uma array entra aqui neste if

                            if (documento.Contains(","))
                            {
                                documento = documento.Remove(documento.Length - 1);

                                foreach (string ativ in documento.Split(','))
                                {
                                    if (!string.IsNullOrEmpty(ativ.Trim()))
                                    {
                                        DocumentosPessoal pTemp = DocumentosPessoalBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.NomeDocumento.Equals(ativ.Trim()));
                                        if (pTemp != null)
                                        {
                                            if (Rel_DocAdmissaoBusiness.Consulta.Where(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UKDocumento.Equals(pTemp.UniqueKey) && a.UKAdmissoa.Equals(ukadmissao)).Count() == 0)
                                            {
                                                Rel_DocAdmissaoBusiness.Inserir(new Rel_DocAdmissao()
                                                {
                                                    Posicao         = 0,
                                                    UKAdmissoa      = ukadmissao,
                                                    UKDocumento     = pTemp.UniqueKey,
                                                    DataDocumento   = DateTime.MaxValue,
                                                    UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login
                                                });
                                            }
                                            //else
                                            //{
                                            //    return Json(new { resultado = new RetornoJSON() { Erro = "Este documento já está cadastrado para esta alocação!." } });
                                            //}
                                        }
                                    }
                                }
                            }

                            // se vier somente um documento entre aqui
                            else
                            {
                                DocumentosPessoal pTemp = DocumentosPessoalBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.NomeDocumento.Equals(documento.Trim()));
                                if (pTemp != null)
                                {
                                    if (Rel_DocAdmissaoBusiness.Consulta.Where(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UKDocumento.Equals(pTemp.UniqueKey) && a.UKAdmissoa.Equals(ukadmissao)).Count() == 0)
                                    {
                                        Rel_DocAdmissaoBusiness.Inserir(new Rel_DocAdmissao()
                                        {
                                            UKAdmissoa      = ukadmissao,
                                            UKDocumento     = pTemp.UniqueKey,
                                            UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login
                                        });
                                    }
                                }
                            }
                        }
                    }



                    Extensions.GravaCookie("MensagemSucesso", "Admissão realizada com sucesso.", 10);

                    return(Json(new { resultado = new RetornoJSON()
                                      {
                                          URL = Url.Action("Perfil", "Empregado", new { id = entidade.UKEmpregado.ToString() })
                                      } }));
                }
                catch (Exception ex)
                {
                    if (ex.GetBaseException() == null)
                    {
                        return(Json(new { resultado = new RetornoJSON()
                                          {
                                              Erro = ex.Message
                                          } }));
                    }
                    else
                    {
                        return(Json(new { resultado = new RetornoJSON()
                                          {
                                              Erro = ex.GetBaseException().Message
                                          } }));
                    }
                }
            }
            else
            {
                return(Json(new { resultado = TratarRetornoValidacaoToJSON() }));
            }
        }