コード例 #1
0
 public ActionResult Create(int idFuncionario, int ano, int mes)
 {
     try
     {
         using (var db = new Context())
         {
             CultureInfo culture = new CultureInfo("pt-BR");
             DateTimeFormatInfo dtfi = culture.DateTimeFormat;
             var _feriadoBLL = new BLL.FeriadoBLL(db, _idUsuario);
             var _bll = new BLL.FuncionarioBLL(db, _idUsuario);
             var _movimentoBLL = new BLL.MovimentoProfissionalBLL(db, _idUsuario);
             var empresa = db.Entidades.FirstOrDefault();
             var data = new DateTime(ano, mes, 1).AddMonths(1).AddDays(-1);
             var feriados = _feriadoBLL.Find(u => u.nrMes == mes);
             var _funcionario = _bll.FindSingle(e => e.idFuncionario == idFuncionario);
             var _movimentos = _movimentoBLL.Find(e => e.idFuncionario == idFuncionario && e.situacao == MovimentoProfissional.SITUACAO_PENDENTE && e.tipo == MovimentoProfissional.TIPO_COMISSAO);
             var _result = new FolhaVM
             {
                 Funcionario = Models.Funcionario.Consultar.GetModel(_funcionario),
                 Pontos = FolhaVM.Ponto.GetPontos(ano, mes, idFuncionario, feriados.ToList(), empresa),
                 Proximos = FolhaVM.Comissao.GetComicoes(_movimentos.Where(u => u.dtVencimento > data).ToList()),
                 Comissoes = FolhaVM.Comissao.GetComicoes(_movimentos.Where(u => u.dtVencimento <= data).ToList()),
                 nrAno = ano,
                 nrMes = mes,
                 dsMes = culture.TextInfo.ToTitleCase(dtfi.GetMonthName(mes))
             };
             return View(_result);
         }
     }
     catch (Exception ex)
     {
         RP.Util.Entity.ErroLog.Add(ex, Session.SessionID, _idUsuario);
         return RedirectToAction("Index");
     }
 }
コード例 #2
0
        public ActionResult Search(ListVM.ConsultaVM Consulta, int? page, int? pagesize)
        {
            try
            {
                LogBLL.Insert(new LogDado("Search", "FolhaPagamento", _idUsuario));
                using (var db = new Context())
                {
                    var _bll = new BLL.FuncionarioBLL(db, _idUsuario);

                    var result = _bll.Search(Consulta.nome, Funcionario.ATIVO, page, pagesize, null);
                    var _result = new ListVM
                    {
                        Funcionarios = ListVM.E2VM(result, Consulta.mes, Consulta.ano),
                        Consulta = Consulta,
                        Ano = ListVM.GetAnos(),
                    };

                    return View("Index", _result);
                }
            }
            catch (Exception ex)
            {
                Util.Entity.ErroLog.Add(ex, Session.SessionID, _idUsuario);
                return RedirectToAction("Index", "Erro", new { area = string.Empty });
            }
        }
コード例 #3
0
        public ActionResult Search(string filter, string status, int? page, int? pagesize)
        {
            try
            {
                LogBLL.Insert(new LogDado("Search", "Funcionario", _idUsuario));
                using (var db = new Context())
                {
                    var _bll = new BLL.FuncionarioBLL(db, _idUsuario);

                    var result = _bll.Search(filter, status, page, pagesize, null);

                    return View("Index", result);
				}
            }
            catch (Exception ex)
            {
                Util.Entity.ErroLog.Add(ex, Session.SessionID, _idUsuario);
                return RedirectToAction("Index", "Erro", new { area = string.Empty });
            }
        }		
コード例 #4
0
        public ActionResult Create(FuncionarioVM model)
        {
            if (string.IsNullOrEmpty(model.Cidade.nome))
            {
                ModelState.AddModelError("Cidade.nome", "Selecione uma cidade");
            }
            if (model.flMensalista == "Não" && (model.comissao == null || model.comissao == 0))
            {
                ModelState.AddModelError("comissao", "Informe a comissão");
            }
            if (ModelState.IsValid)
            {
                try
                {
                    LogBLL.Insert(new LogDado("Create", "Funcionario", _idUsuario));
                    using (var db = new Context())
                    {
                        using (var trans = new RP.DataAccess.RPTransactionScope(db))
                        {
                            var _funcionario = model.GetFuncionario();

                            var _bll = new BLL.FuncionarioBLL(db, _idUsuario);

                            _bll.Insert(_funcionario);
                            _bll.SaveChanges();

                            trans.Complete();

                            this.AddFlashMessage(RP.Util.Resource.Message.INSERT_SUCCESS, FlashMessage.SUCCESS);
                            return RedirectToAction("Index");
                        }
                    }
                }
                catch (Exception ex)
                {
                    this.AddFlashMessage(RP.Util.Exception.Message.Get(ex), FlashMessage.ERROR); RP.Util.Entity.ErroLog.Add(ex, Session.SessionID, _idUsuario);
                    return RedirectToAction("Index");
                }
            }
            return View(model);
        }
コード例 #5
0
        public JsonResult JsCreate(Funcionario model)
        {
            try
            {
                LogBLL.Insert(new LogDado("JsCreate", "Funcionario", _idUsuario));
                using (var db = new Context())
                {
                    using (var trans = new RP.DataAccess.RPTransactionScope(db))
                    {
                        var _bll = new BLL.FuncionarioBLL(db, _idUsuario);

                        _bll.Insert(model);
                        _bll.SaveChanges();

                        trans.Complete();

                        return Json(new { model = model }, JsonRequestBehavior.AllowGet);
                    }
                }
            }

            catch (Exception ex)
            {
                Response.StatusCode = 500;
                return Json(RP.Util.Exception.Message.Get(ex), JsonRequestBehavior.AllowGet);
            }
        }
コード例 #6
0
        public JsonResult JsSearch(string filter, string tipo, string mensalista, int? page, int? pagesize)
        {
            try
            {
                using (var db = new Context())
                {
                    var _bll = new BLL.FuncionarioBLL(db, _idUsuario);

                    var result = _bll.Search(filter,Funcionario.ATIVO, page, pagesize, mensalista, tipo);

                    var list = result.Select(s => new 
                    {
                        s.idFuncionario,
                        s.nome,
                        s.tipo,
                        comissao = s.comissao ?? 0
                    });

                    return Json(new Util.Class.JsonCollection { result = list, count = result.TotalCount }, JsonRequestBehavior.AllowGet);
				}
            }
            catch (Exception ex)
            {
                Response.StatusCode = 500;
                return Json(RP.Util.Exception.Message.Get(ex), JsonRequestBehavior.AllowGet);
            }
        }
コード例 #7
0
        private ActionResult GetView(int id)
        {
            try
            {
                using (var db = new Context())
                {
                    var _bll = new BLL.FuncionarioBLL(db, _idUsuario);

                    var _funcionario = _bll.FindSingle(e => e.idFuncionario == id, u => u.Usuario, u => u.Cidade);

                    return View(FuncionarioVM.GetFuncionario(_funcionario));
                }
            }
            catch (Exception ex)
            {
                this.AddFlashMessage(RP.Util.Exception.Message.Get(ex), FlashMessage.ERROR); RP.Util.Entity.ErroLog.Add(ex, Session.SessionID, _idUsuario);
                return RedirectToAction("Index");
            }
        }
コード例 #8
0
        public ActionResult Delete(FuncionarioVM model)
        {
            if (string.IsNullOrEmpty(model.motivoSaida))
            {
                ModelState.AddModelError("motivoSaida", "Informe o motivo");
            }
            if (ModelState.IsValid)
            {
                try
                {
                    LogBLL.Insert(new LogDado("Delete", "Funcionario", _idUsuario));
                    using (var db = new Context())
                    {
                        using (var trans = new RP.DataAccess.RPTransactionScope(db))
                        {
                            var _funcionario = model.GetFuncionario();

                            var _bll = new BLL.FuncionarioBLL(db, _idUsuario);

                            _bll.Desativar(_funcionario);
                            _bll.SaveChanges();

                            trans.Complete();

                            this.AddFlashMessage(RP.Util.Resource.Message.EDIT_SUCCESS, FlashMessage.SUCCESS);
                            return RedirectToAction("Index");
                        }
                    }
                }
                catch (Exception ex)
                {
                    Util.Entity.ErroLog.Add(ex, Session.SessionID, _idUsuario);
                    return RedirectToAction("Index", "Erro", new { area = string.Empty });
                }
            }
            return View(model);
        }
コード例 #9
0
        public ActionResult Pagar(int idFolha, int idFuncionario, int ano, int mes)
        {
            try
            {
                using (var db = new Context())
                {
                    var culture = new CultureInfo("pt-BR");
                    var dtfi = culture.DateTimeFormat;
                    var _bll = new BLL.FuncionarioBLL(db, _idUsuario);
                    var _movimentoBLL = new BLL.MovimentoProfissionalBLL(db, _idUsuario);

                    var _funcionario = _bll.FindSingle(e => e.idFuncionario == idFuncionario);
                    var _movimentos = _movimentoBLL.Find(e => e.idFuncionario == idFuncionario && 
                                                        ((e.situacao == MovimentoProfissional.SITUACAO_AGUARDANDO_PAGAMENTO && e.tipo == MovimentoProfissional.TIPO_COMISSAO )||
                                                        (e.situacao == MovimentoProfissional.SITUACAO_PENDENTE && e.tipo == MovimentoProfissional.TIPO_VALE)));
                    var _result = new PagarVM
                    {
                        Funcionario = Models.Funcionario.Consultar.GetModel(_funcionario),
                        Movimentos = PagarVM.Movimento.GetMovimentos(_movimentos.ToList()),
                        nrAno = ano,
                        nrMes = mes,
                        dsMes = culture.TextInfo.ToTitleCase(dtfi.GetMonthName(mes)),
                        salario = _funcionario.salario,
                        mensalista = _funcionario.flMensalista,
                        idFolha = idFolha
                    };
                    return View(_result);
                }
            }
            catch (Exception ex)
            {
                Util.Entity.ErroLog.Add(ex, Session.SessionID, _idUsuario);
                return RedirectToAction("Index", "Erro", new { area = string.Empty });
            }
        }