public CustoUnitarioTotal(SubSetorHospital subSetor, SetorHospitalar setor, List<ValorContaDTO> servicos, List<ProducaoHospitalar> custosUnitarios, TicketDeReceita tickets) { InformarSubSetor(subSetor); InformarSetor(setor); Valores = new List<CustoHospitalar>(); CriarCustosProducao(servicos, custosUnitarios, tickets); }
public override void CalcularCustoHospitalar(TicketDeReceita ticket, List<CustoUnitario> custosUnitarios, List<ContaHospitalarDTO> contasUnitarias) { this.CustosUnitariosTotal = new List<CustoUnitarioTotal>(); foreach (var setor in this.Setor.Setores) { foreach (var subSetor in setor.SubSetores) { CriarCustoTotal(subSetor, setor, ticket, custosUnitarios,contasUnitarias); } } }
private void CriarCustosProducao(List<ValorContaDTO> servicos, List<ProducaoHospitalar> custosUnitarios, TicketDeReceita ticket) { this.Valores = new List<CustoHospitalar>(); for (short mes = 1; mes < 13; mes++) { var custoHospitalar = new CustoHospitalar((MesEnum)mes) { Valor = servicos[mes - 1].Valor * custosUnitarios[mes - 1].Valor }; foreach (var item in ticket.Parcelas.Where(p => p.Mes <= (MesEnum)mes)) { if (item.Negativo) custoHospitalar.Valor -= custoHospitalar.Valor * (item.Valor / 100); else custoHospitalar.Valor += custoHospitalar.Valor * (item.Valor / 100); } AdicionarValor(custoHospitalar); } }
private void CriarCustoTotal( SubSetorHospital subSetor, SetorHospitalar setor,TicketDeReceita ticket,List<CustoUnitario> custosUnitarios,List<ContaHospitalarDTO> contasUnitarias) { this.CustosUnitariosTotal.Add(new CustoUnitarioTotal(subSetor, setor, contasUnitarias.Where(s=> s.Subsetor == subSetor.NomeSetor && s.Setor == setor.NomeSetor).FirstOrDefault().Valores, custosUnitarios.Where(s => s.SubSetor.Id == subSetor.Id && s.Setor.Id == setor.Id).FirstOrDefault().Valores.ToList(), ticket)); }