コード例 #1
0
        private void PreencherInsumos()
        {
            Orcamento.Domain.DB.Repositorio.Insumos insumos = new global::Orcamento.Domain.DB.Repositorio.Insumos();
            Insumo = insumos.ObterInsumo(Departamento);

            TicketsDeReceita tickets = new TicketsDeReceita();
            var ticketsDeReceita = tickets.Todos(Departamento);

            if (OrcamentoHospitalar != null)
            {
                var contasUnitarias = ServicoMapperOrcamentoView.TransformarProducaoDeInsumos(
                          OrcamentoHospitalar.Servicos.Where(s => s.Conta.Nome != "Salas" && s.Conta.TipoValorContaEnum == TipoValorContaEnum.Quantidade && s.Conta.Calculado == false).ToList(),
                          OrcamentoHospitalar.Servicos.Where(s => s.Conta.TipoValorContaEnum == TipoValorContaEnum.Porcentagem).ToList());

                OrcamentoHospitalar.CalcularCustoHospitalar(
                    ticketsDeReceita.Where(
                        t =>
                        t.TipoTicket ==
                        global::Orcamento.Domain.ComponentesDeOrcamento.OrcamentoDeProducao.TipoTicketDeReceita.
                            ReajusteDeInsumos).FirstOrDefault(),
                    Insumo.CustosUnitarios.ToList(), contasUnitarias);

                GruposDeConta grupos = new GruposDeConta();
                var grupoDeContaPessoal = grupos.ObterPor("Insumos");

                var DespesasAgrupadas =
                    OrcamentosDeDespesasOperacionais.Where(
                        o => o.DespesasOperacionais.Where(ope => ope.Valor > 0).Count() > 0)
                        .Select(
                            c =>
                            c.DespesasOperacionais.Where(
                                d => grupoDeContaPessoal.Contas.Any(g => g.CodigoDaConta == d.Conta.CodigoDaConta))).
                        ToList();

                for (int i = 1; i < 13; i++)
                {

                    var ltlinsumos = (Literal)divDre.FindControl("ltlInsumos" + i.ToString());

                    receitasNoAno.Where(p => p.Mes == (MesEnum)i).FirstOrDefault().ValorInsumos =
                        OrcamentoHospitalar.CustosUnitariosTotal.Sum(
                            c => c.Valores.Where(v => v.Mes == (MesEnum)i).Sum(insumo => insumo.Valor));
                    receitasNoAno.Where(p => p.Mes == (MesEnum)i).FirstOrDefault().ValorInsumos +=
                        DespesasAgrupadas.Sum(d1 => d1.Where(d2 => d2.Mes == (MesEnum)i).Sum(despesa => despesa.Valor));

                    ltlinsumos.Text = "(";
                    ltlinsumos.Text += (
                        receitasNoAno.Where(p => p.Mes == (MesEnum)i).FirstOrDefault().ValorInsumos / 1000).ToString("#,###,###,###0");
                    ltlinsumos.Text += ")";
                }

                insumosTotal = (receitasNoAno.Sum(r => r.ValorInsumos) / 1000);

                ltlInsumosTotal.Text = "(";
                ltlInsumosTotal.Text += insumosTotal.ToString("#,###,###,###0");
                ltlInsumosTotal.Text += ")";
            }
            else
            {
                for (int i = 1; i < 13; i++)
                {

                    var ltlinsumos = (Literal)divDre.FindControl("ltlInsumos" + i.ToString());
                    ltlinsumos.Text += "(0)";
                }
                ltlInsumosTotal.Text += "(0)";

            }
        }
コード例 #2
0
ファイル: Insumos.aspx.cs プロジェクト: Workker/Orcamento2014
        protected void Page_Load(object sender, EventArgs e)
        {
            VerificaSeExisteSessaoDeUsuario();
            VerificarSeUsuarioHospitalar();
            if (!Page.IsPostBack)
            {
                var departamentos = new Departamentos();
                Departamento = departamentos.Obter((int)Session["DepartamentoLogadoId"]);

                Orcamento.Domain.DB.Repositorio.Insumos insumos = new global::Orcamento.Domain.DB.Repositorio.Insumos();
                Insumo = insumos.ObterInsumo(Departamento);

                PreencherCustoUnitario();

                Orcamentos orcamentos = new Orcamentos();
                Orcamento = orcamentos.ObterOrcamentoHospitalarFinal(Departamento);

                if (Orcamento != null)
                {
                    this.ContasUnitarias = ServicoMapperOrcamentoView.TransformarProducaoDeInsumos(
                        Orcamento.Servicos.Where(s => s.Conta.Nome != "Salas" && s.Conta.TipoValorContaEnum == TipoValorContaEnum.Quantidade && s.Conta.Calculado == false).ToList(),
                        Orcamento.Servicos.Where(s => s.Conta.TipoValorContaEnum ==  TipoValorContaEnum.Porcentagem).ToList());

                    PreecherUnitarios();
                    PreencherCustoHospitalar();
                }
            }
        }