Beispiel #1
0
        public int SalvarAgendamento(AgendamentoItem agendamento)
        {
            var temp = this.dbContext.AgendamentoItens.Find(agendamento.Cd_Agendamento);

            agendamento.Servico = this.dbContext.Servicos.Find(agendamento.Servico.Id_Servico);

            if (temp != null)
            {
                temp.Cd_Servico      = agendamento.Cd_Servico;
                temp.Dat_Inicio      = agendamento.Dat_Inicio;
                temp.Dat_Termino     = agendamento.Dat_Termino;
                temp.Cd_Profissional = agendamento.Cd_Profissional;
            }
            else
            {
                if (this.dbContext.AgendamentoItens.Count() > 0)
                {
                    agendamento.Cd_Agendamento = this.dbContext.AgendamentoItens.Max(id => id.Cd_Agendamento) + 1;
                }
                else
                {
                    agendamento.Cd_Agendamento = 1;
                }


                this.dbContext.AgendamentoItens.Add(agendamento);
            }

            this.dbContext.SaveChanges();

            return(agendamento.Cd_Agendamento);
        }
        internal AgendamentoItem ToAgendamento()
        {
            var temp = new AgendamentoItem();

            temp.Cd_Agendamento     = this.CodAgendamento;
            temp.Cd_AgendamentoItem = this.CodAgendamentoItem;
            temp.Cd_Servico         = this.CodServico;
            temp.Dat_Inicio         = this.Inicio;
            temp.Dat_Termino        = this.Termino;
            temp.Cd_Profissional    = this.CodProfissional;
            temp.Num_ValorServico   = this.ValorServico;
            temp.Num_Comissao       = this.Comissao;
            temp.Txt_Observacao     = this.Observacao;

            return(temp);
        }
        internal void LoadFromAgendamento(AgendamentoItem e)
        {
            this.CodAgendamento     = e.Cd_Agendamento;
            this.CodAgendamentoItem = e.Cd_AgendamentoItem;
            this.CodServico         = e.Cd_Servico;
            this.CodCliente         = e.Agendamento.Cd_Cliente;
            this.CodProfissional    = e.Profissional.Cod_Pessoa;
            this.Inicio             = e.Dat_Inicio;
            this.Termino            = e.Dat_Termino;
            this.DataAgendamento    = e.Agendamento.Dat_Agendamento.ToString("yyyy-MM-dd");
            this.HoraInicio         = e.Dat_Inicio.ToString("HH':'mm");
            this.HoraTermino        = e.Dat_Termino.ToString("HH':'mm");
            this.CodStatus          = e.Agendamento.Cd_Status;
            this.NomeCliente        = e.Agendamento.Cliente.Txt_Nome;
            this.NomeProfissional   = e.Profissional.Txt_Nome;
            this.Servico            = e.Servico.Nome_Servico;
            this.ValorServico       = (decimal)(e.Num_ValorServico ?? 0);
            this.Pago       = e.Pago;
            this.Comissao   = e.Num_Comissao;
            this.Observacao = e.Txt_Observacao;


            switch (this.CodStatus)
            {
            case 1:
                this.Status = "Agendado";
                break;

            case 2:
                this.Status = "Cancelado";
                break;

            case 3:
                this.Status = "Realizado";
                break;

            default:
                break;
            }
        }
Beispiel #4
0
        public int SalvarAgendamento(Agendamento agendamento)
        {
            if (!ValidaAgendamento(agendamento))
            {
                return(0);
            }

            var model = this.dbContext.Agendamentos.Where(a => a.Cd_Agendamento == agendamento.Cd_Agendamento).Include(i => i.Itens).FirstOrDefault();

            if (agendamento.Cd_Agendamento == 0)
            {
                var codAgendamento     = this.dbContext.Agendamentos.Count() == 0 ? 1 : this.dbContext.Agendamentos.Max(a => a.Cd_Agendamento) + 1;
                var CodAgendamentoItem = this.dbContext.AgendamentoItens.Count() == 0 ? 1 : this.dbContext.AgendamentoItens.Max(a => a.Cd_AgendamentoItem) + 1;

                for (var i = 0; i < agendamento.Itens.Count; i++)
                {
                    agendamento.Itens[i].Cd_AgendamentoItem = CodAgendamentoItem++;
                    agendamento.Itens[i].Cd_Agendamento     = codAgendamento;
                }

                agendamento.Cd_Agendamento = codAgendamento;

                this.dbContext.Agendamentos.Add(agendamento);

                model = agendamento;
            }
            else
            {
                model.Cd_Status       = agendamento.Cd_Status;
                model.Dat_Agendamento = agendamento.Dat_Agendamento;

                model.Itens
                .RemoveAll((i) =>
                {
                    return(agendamento.Itens.Where(a => a.Cd_AgendamentoItem == i.Cd_AgendamentoItem).FirstOrDefault() == null);
                });

                agendamento.Itens.ForEach((e) =>
                {
                    if (e.Cd_AgendamentoItem == 0)
                    {
                        var novo = new AgendamentoItem()
                        {
                            Cd_Agendamento   = agendamento.Cd_Agendamento,
                            Cd_Servico       = e.Cd_Servico,
                            Dat_Inicio       = e.Dat_Inicio,
                            Dat_Termino      = e.Dat_Termino,
                            Cd_Profissional  = e.Cd_Profissional,
                            Num_ValorServico = e.Num_ValorServico,
                            Num_Comissao     = e.Num_Comissao,
                            Txt_Observacao   = e.Txt_Observacao
                        };

                        novo.Cd_AgendamentoItem = this.dbContext.AgendamentoItens.Count() == 0 ? 1 : this.dbContext.AgendamentoItens.Max(a => a.Cd_AgendamentoItem) + 1;

                        dbContext.AgendamentoItens.Add(novo);
                    }
                    else
                    {
                        var item = model.Itens.Where(i => i.Cd_AgendamentoItem == e.Cd_AgendamentoItem).FirstOrDefault();

                        if (item == null)
                        {
                            dbContext.AgendamentoItens.Add(e);
                        }
                        else
                        {
                            item.Cd_Servico       = e.Cd_Servico;
                            item.Dat_Inicio       = e.Dat_Inicio;
                            item.Dat_Termino      = e.Dat_Termino;
                            item.Cd_Profissional  = e.Cd_Profissional;
                            item.Num_ValorServico = e.Num_ValorServico;
                            item.Num_Comissao     = e.Num_Comissao;
                            item.Txt_Observacao   = e.Txt_Observacao;
                        };
                    }
                });
            }

            dbContext.SaveChanges();

            return(model.Cd_Agendamento);
        }