/// <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 }); }
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)); } }