/// <summary>
 /// Tranforma DTO de Lote de Mão de Obra em modelo.
 /// </summary>
 /// <param name="loteDto">DTO de Lote de Mão de Obra.</param>
 /// <returns>Modelo de Lote de Mão de Obra.</returns>
 public static LoteMaoDeObra FromDto(this LoteMaoDeObraDto loteDto)
 {
     return(new LoteMaoDeObra()
     {
         LoteId = loteDto.LoteId,
         DataAtualizacao = loteDto.DataAtualizacao,
         CentroCustoImportacao = loteDto.CentroCustoImportacao,
         RubricaMesId = loteDto.RubricaMesId
     });
 }
Esempio n. 2
0
        public ActionResult Importar(int centroCustoId, int aditivoId, int ano, int mes)
        {
            try
            {
                LoteMaoDeObraDto lote = MaosDeObraBo.Instance.Importar(centroCustoId, aditivoId, ano, mes);

                return(Json(new { lote }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                WexLogger.Debug("Erro desconhecido ao importar", e);

                Response.StatusCode = 500;
                return(Json(new { e.Message }, JsonRequestBehavior.AllowGet));
            }
        }
        /// <summary>
        ///     Lista Mãos de Obra e Lote mais atualizados de um determinado Mês e Ano de um Projeto.
        ///     Retorna os resultados através de Referências.
        /// </summary>
        /// <param name="centroCustoId">Identificação do centro de custo</param>
        /// <param name="ano">Ano referente aos custos</param>
        /// <param name="mes">Mês referente aos custos</param>
        /// <param name="loteDto">Referência para DTO de Lote de Mão de Obra que será preenchido.</param>
        /// <param name="maosDeObraDto">Referência para DTO de Mão de Obra que será preenchido.</param>
        /// <param name="somaValorTotal">Somatório da propriedade ValorTotal das mãos-de-obra</param>
        public void ListarMaosDeObra(int centroCustoId, int aditivoId, int ano, int mes, out LoteMaoDeObraDto loteDto,
                                     out List <MaoDeObraDto> maosDeObraDto, out Decimal somaValorTotal, out int quantidadeColaboradores)
        {
            LoteMaoDeObra    lote;
            List <MaoDeObra> maosDeObra;

            somaValorTotal = 0;

            RubricaMes rubricaMes = RubricaMesBo.Instance.ResgatarRubricaMes(centroCustoId, TipoRubricaId, aditivoId, ano, mes);

            MaosDeObraDao.ConsultarMaosDeObra(centroCustoId, rubricaMes.RubricaMesId, out lote, out maosDeObra);

            if (lote != null)
            {
                maosDeObraDto           = maosDeObra.Select(mo => mo.ToDto()).ToList();
                loteDto                 = lote.ToDto();
                somaValorTotal          = SomarValorTotalMaosDeObra(maosDeObra);
                quantidadeColaboradores = CalcularQuantidadeColaboradores(maosDeObra);
            }
            else
            {
                CentroCusto centroCusto = CentroCustoBo.Instance.ConsultarCentroCusto(centroCustoId);
                throw new EntidadeNaoEncontradaException(
                          String.Format("Nenhum lote encontrado no mês de {0} de {1} no Centro de Custo '{2} - {3}'.",
                                        Enum.GetName(typeof(CsMesDomain), mes), ano, centroCusto.Codigo, centroCusto.Nome));
            }
        }