public void Salvar(ChamadoOcorrencia model, bool commit = true)
        {
            if (model.Data < model.Chamado.DataAbertura)
            {
                throw new Exception("Data de Ocorrência menor que Data de Abertura!");
            }
            if (model.HoraInicio > model.HoraFim)
            {
                throw new Exception("Hora Inicial maior que Hora Final na Ocorrência!");
            }
            if (model.UsuarioId == 0)
            {
                throw new Exception("Informe o Usuário!");
            }
            if (string.IsNullOrWhiteSpace(model.DescricaoTecnica) && string.IsNullOrWhiteSpace(model.DescricaoSolucao))
            {
                throw new Exception("Informe uma descrição!");
            }

            double HoraInicio = Funcoes.Horas.HoraToDecimal(model.HoraInicio.ToString());
            double HoraFim    = Funcoes.Horas.HoraToDecimal(model.HoraFim.ToString());

            model.TotalHoras = HoraFim - HoraInicio;

            _rep.Salvar(model);

            if (commit)
            {
                _rep.Commit();
            }
        }
Example #2
0
        private void AlterarOcorrencia(Chamado model)
        {
            var temp = new ChamadoOcorrencia();

            foreach (var item in model.ChamadoOcorrencias)
            {
                item.HoraFim = TimeSpan.Parse(DateTime.Now.ToShortTimeString());
                if (item.UsuarioId == 0)
                {
                    throw new Exception("Informe o Usuário!");
                }

                //if (item.Data < model.DataAbertura)
                //    throw new Exception("Data de Ocorrência menor que Data de Abertura!");
                //if (item.HoraInicio > item.HoraFim)
                //    throw new Exception("Hora Inicial maior que Hora Final na Ocorrência!");

                if (item.UsuarioId == 0)
                {
                    throw new Exception("Informe o Usuário!");
                }
                //if (string.IsNullOrWhiteSpace(item.DescricaoTecnica) && string.IsNullOrWhiteSpace(item.DescricaoSolucao))
                //    throw new Exception("Informe uma descrição!");

                double HoraInicio = Funcoes.Horas.HoraToDecimal(item.HoraInicio.ToString());
                double HoraFim    = Funcoes.Horas.HoraToDecimal(item.HoraFim.ToString());

                item.TotalHoras = HoraFim - HoraInicio;

                if (item.Id <= 0)
                {
                    _repChamadoOcorrencia.Salvar(item);
                    //chamado.ChamadoOcorrencias.Add(item);
                }
                else
                {
                    //ExcluirOcorrenciasColaborador(item);

                    temp = _repChamadoOcorrencia.ObterPorId(item.Id);
                    //var temp = chamado.ChamadoOcorrencias.FirstOrDefault(x => x.Id == item.Id);
                    //temp = model.ChamadoOcorrencias.FirstOrDefault(x => x.Id == item.Id);
                    if (temp != null)
                    {
                        temp = item;
                        //temp.Anexo = item.Anexo;
                        //temp.Data = item.Data;
                        //temp.DescricaoSolucao = item.DescricaoSolucao;
                        //temp.DescricaoTecnica = item.DescricaoTecnica;
                        //temp.Documento = item.Documento;
                        //temp.HoraFim = item.HoraFim;
                        //temp.HoraInicio = item.HoraInicio;
                        //temp.TotalHoras = item.TotalHoras;
                        //temp.UsuarioColab1 = item.UsuarioColab1;
                        //temp.UsuarioColab2 = item.UsuarioColab2;
                        //temp.UsuarioColab3 = item.UsuarioColab3;
                        //temp.UsuarioId = item.UsuarioId;
                        //temp.Versao = item.Versao;

                        _repChamadoOcorrencia.Salvar(temp);
                        //_repChamadoOcorrencia.Commit();
                        AlterarOcorrenciaColaborador(temp);
                        ExcluirOcorrenciasColaborador(temp);

                        //foreach (var colab in temp.ChamadoOcorrenciaColaboradores)
                        //{
                        //    _repChamadoOcorrenciaColaboradorEF.Salvar(colab);
                        //}

                        //_repChamadoOcorrenciaColaboradorEF.Commit();

                        //AlterarOcorrenciaColaborador(temp);
                    }
                }
            }
            _repChamadoOcorrencia.Commit();
            _repChamadoOcorrenciaColaboradorEF.Commit();

            //if (model.ChamadoOcorrencias.Count() > 0)
            //    _repChamadoOcorrencia.Commit();
        }