コード例 #1
0
        public string IncluirAlterarOsFuncionario()
        {
            var auto2 = HttpContext.Current.Request.Form["autonumero"].ToString();

            if (string.IsNullOrEmpty(auto2))
            {
                auto2 = "0";
            }
            var autonumero = Convert.ToInt32(auto2);


            var autonumeroContrato = Convert.ToInt32(HttpContext.Current.Request.Form["autonumeroContrato"].ToString());
            var nomeContrato       = HttpContext.Current.Request.Form["nomeContrato"].ToString().Trim();

            var autonumeroOs          = Convert.ToInt64(HttpContext.Current.Request.Form["autonumeroOs"].ToString());
            var codigoOs              = HttpContext.Current.Request.Form["codigoOs"].ToString().Trim();
            var autonumeroFuncionario = Convert.ToInt32(HttpContext.Current.Request.Form["autonumeroFuncionario"].ToString());
            var nomeFuncionario       = HttpContext.Current.Request.Form["nomeFuncionario"].ToString().Trim();
            var autonumeroProfissao   = Convert.ToInt32(HttpContext.Current.Request.Form["autonumeroProfissao"].ToString());
            var nomeProfissao         = HttpContext.Current.Request.Form["nomeProfissao"].ToString().Trim();

            // Pegar Horas maior que 24H ----------------------------------------------------------
            string input      = HttpContext.Current.Request.Form["totalHoras"].ToString().Trim();
            var    parts      = input.Split(':');
            var    hours      = Int32.Parse(parts[0]);
            var    minutes    = Int32.Parse(parts[1]);
            var    totalHoras = new TimeSpan(hours, minutes, 0);

            // Fim - Pegar Horas maior que 24H ----------------------------------------------------------

            // Calcular o Nro de Segundos da hora  ----------------------------------------------------------
            input = input + ":00";
            int[] ssmmhh   = { 0, 0, 0 };
            var   hhmmss   = input.ToString().Split(':');
            var   reversed = hhmmss.Reverse();
            int   i        = 0;

            reversed.ToList().ForEach(x => ssmmhh[i++] = int.Parse(x));
            var seconds = (int)(new TimeSpan(ssmmhh[2], ssmmhh[1], ssmmhh[0])).TotalSeconds;

            // Fim - Calcular o Nro de Segundos da hora  ----------------------------------------------------------



            if (autonumero == 0)
            {
                using (var dc = new manutEntities())
                {
                    var k = new osfuncionario
                    {
                        autonumeroContrato    = autonumeroContrato,
                        nomeContrato          = nomeContrato,
                        autonumeroOs          = autonumeroOs,
                        codigoOs              = codigoOs,
                        autonumeroFuncionario = autonumeroFuncionario,
                        nomeFuncionario       = nomeFuncionario,
                        autonumeroProfissao   = autonumeroProfissao,
                        nomeProfissao         = nomeProfissao,
                        totalHoras            = totalHoras,
                        totalSegundos         = seconds,
                        cancelado             = "N"
                    };

                    dc.osfuncionario.Add(k);
                    dc.SaveChanges();
                    var auto = Convert.ToInt32(k.autonumero);

                    return(auto.ToString("#######0"));
                }
            }
            else
            {
                using (var dc = new manutEntities())
                {
                    var linha = dc.osfuncionario.Find(autonumero); // sempre irá procurar pela chave primaria
                    if (linha != null && linha.cancelado != "S")
                    {
                        linha.totalHoras = totalHoras;
                        dc.osfuncionario.AddOrUpdate(linha);
                        dc.SaveChanges();

                        return("0");
                    }
                }
            }
            return("0");
        }
コード例 #2
0
        public string UploadFile()
        {
            var message = HttpContext.Current.Request.Files.AllKeys.Any().ToString();

            //try
            //{

            if (HttpContext.Current.Request.Files.AllKeys.Any())
            {
                // Get the uploaded image from the Files collection
                var httpPostedFile = HttpContext.Current.Request.Files["UploadedImage"];

                if (httpPostedFile != null)
                {
                    var autonumeroCliente = Convert.ToInt32(HttpContext.Current.Request.Form["autonumeroCliente"].ToString());
                    var siglaCliente      = HttpContext.Current.Request.Form["siglaCliente"].ToString().Trim();
                    var descricao         = HttpContext.Current.Request.Form["descricao"].ToString().Trim();
                    var caminho           = "~/UploadedFiles/" + siglaCliente + "/";

                    // Criar a pasta se não existir ou devolver informação sobre a pasta
                    var inf = Directory.CreateDirectory(HttpContext.Current.Server.MapPath(caminho));


                    var extension = Path.GetExtension(httpPostedFile.FileName);
                    var fileName  = Path.GetFileNameWithoutExtension(Path.GetRandomFileName()) + extension;

                    var fileSavePath = Path.Combine(HttpContext.Current.Server.MapPath(caminho), fileName);
                    if (File.Exists(fileSavePath))
                    {
                        File.Delete(fileSavePath);
                    }

                    // Save the uploaded file to "UploadedFiles" folder
                    httpPostedFile.SaveAs(fileSavePath);


                    using (var dc = new manutEntities())
                    {
                        var k = new tb_anexo
                        {
                            siglaCliente      = siglaCliente,
                            autonumeroCliente = autonumeroCliente,
                            url       = fileName,
                            descricao = descricao
                        };

                        dc.tb_anexo.Add(k);
                        dc.SaveChanges();
                        var auto = Convert.ToInt32(k.autonumero);

                        return(auto.ToString("#######0"));
                    }
                }
            }

            return(message);


            //}
            //catch (DbEntityValidationException e)
            //{
            //    var sb = new StringBuilder();
            //    foreach (var eve in e.EntityValidationErrors)
            //    {
            //        sb.AppendLine(string.Format("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
            //            eve.Entry.Entity.GetType().Name,
            //            eve.Entry.State));
            //        foreach (var ve in eve.ValidationErrors)
            //        {
            //            sb.AppendLine(string.Format("- Property: \"{0}\", Error: \"{1}\"",
            //                ve.PropertyName,
            //                ve.ErrorMessage));
            //        }
            //    }
            //    message = sb.ToString();
            //    //throw new DbEntityValidationException(sb.ToString(), e);
            //}
            //catch (Exception ex)
            //{
            //    message = ex.InnerException != null
            //        ? ex.InnerException.ToString().Substring(0, 130) + " -  SaveFiles"
            //        : ex.Message + " - DataprodutoController SaveFilesFoto";

            //}
            //return message;
        }
コード例 #3
0
        public string IncluirAlterarSubSistema()
        {
            var auto2 = HttpContext.Current.Request.Form["autonumero"].ToString();

            if (string.IsNullOrEmpty(auto2))
            {
                auto2 = "0";
            }
            var autonumero = Convert.ToInt32(auto2);

            var nome    = HttpContext.Current.Request.Form["nome"].ToString().Trim();
            var obsPmoc = HttpContext.Current.Request.Form["obsPmoc"].ToString().Trim();

            if (autonumero == 0)
            {
                var autonumeroSistema = Convert.ToInt32(HttpContext.Current.Request.Form["autonumeroSistema"].ToString());
                var nomeSistema       = HttpContext.Current.Request.Form["nomeSistema"].ToString().Trim();


                using (var dc = new manutEntities())
                {
                    var k = new tb_subsistema
                    {
                        nome = nome,
                        autonumeroSistema        = autonumeroSistema,
                        nomeSistema              = nomeSistema,
                        obsPmoc                  = obsPmoc,
                        cancelado                = "N",
                        anual                    = "",
                        autonumeroEquipe         = 0,
                        autonumeroEquipe2        = 0,
                        chkAno                   = 0,
                        chkSemestre              = 0,
                        chkTodoMes               = 1,
                        chkTrimestre             = 0,
                        mesesParaCalcular        = "",
                        nomeEquipe               = "",
                        nomeEquipe2              = "",
                        qtdeAtendidaEquipePorDia = 0,
                        qtdePorGrupoRelatorio    = 0,
                        semestre                 = "",
                        trimestre                = ""
                    };

                    dc.tb_subsistema.Add(k);
                    dc.SaveChanges();
                    var auto = Convert.ToInt32(k.autonumero);

                    return(auto.ToString("#######0"));
                }
            }
            else
            {
                using (var dc = new manutEntities())
                {
                    var linha = dc.tb_subsistema.Find(autonumero); // sempre irá procurar pela chave primaria
                    if (linha != null && linha.cancelado != "S")
                    {
                        var autonumeroSubSistema = linha.autonumero;
                        linha.nome    = nome;
                        linha.obsPmoc = obsPmoc;

                        dc.tb_subsistema.AddOrUpdate(linha);
                        dc.SaveChanges();

                        dc.checklist.Where(x => x.autonumeroSubsistema == autonumeroSubSistema && x.cancelado != "S").ToList().ForEach(x =>
                        {
                            x.nomeSubSistema = nome;
                        });
                        dc.SaveChanges();

                        return("0");
                    }
                }
            }
            return("0");
        }
コード例 #4
0
        public tb_orcamento IncluirOrcamento()
        {
            var c = 1;

            using (var dc = new manutEntities())
            {
                using (var transaction = dc.Database.BeginTransaction())
                {
                    var sigla             = HttpContext.Current.Request.Form["sigla"].ToString();
                    var autonumeroCliente = Convert.ToInt32(HttpContext.Current.Request.Form["autonumeroCliente"].ToString());
                    var nomeCliente       = HttpContext.Current.Request.Form["nomeCliente"].ToString();
                    var nomeUsuario       = HttpContext.Current.Request.Form["nomeUsuario"].ToString();
                    var descricao         = HttpContext.Current.Request.Form["descricao"].ToString();
                    var localObra         = HttpContext.Current.Request.Form["localObra"].ToString();

                    var Orcamento = new tb_orcamento
                    {
                        codigoOrcamento   = "",
                        autonumeroCliente = autonumeroCliente,
                        nomeCliente       = nomeCliente,
                        autonumeroUsuario = Convert.ToInt32(HttpContext.Current.Request.Form["autonumeroUsuario"].ToString().Trim()),
                        nomeUsuario       = nomeUsuario,
                        nomeStatus        = "Aberta",
                        cancelado         = "N",
                        valor             = 0,
                        autonumeroOs      = 0,
                        codigoOs          = "",
                        siglaCliente      = HttpContext.Current.Request.Form["siglaCliente"].ToString(),
                        descricao         = descricao,
                        localObra         = localObra
                    };

                    if (DataClienteController.IsDate(HttpContext.Current.Request.Form["dataInicio"].ToString()))
                    {
                        Orcamento.dataInicio = Convert.ToDateTime(HttpContext.Current.Request.Form["dataInicio"].ToString());
                        if (HttpContext.Current.Request.Form.AllKeys.Contains("dataLimite"))
                        {
                            if (DataClienteController.IsDate(HttpContext.Current.Request.Form["dataLimite"].ToString()))
                            {
                                var dataLimite = Convert.ToDateTime(HttpContext.Current.Request.Form["dataLimite"].ToString());
                                if (Orcamento.dataInicio > dataLimite)
                                {
                                    Orcamento.dataInicio = new DateTime(dataLimite.Year, dataLimite.Month, dataLimite.Day, DateTime.Now.TimeOfDay.Hours,
                                                                        DateTime.Now.TimeOfDay.Minutes, DateTime.Now.TimeOfDay.Seconds);
                                }
                            }
                        }
                    }



                    var linha = dc.tb_cliente.Find(autonumeroCliente); // sempre irá procurar pela chave primaria
                    if (linha != null)
                    {
                        linha.contadorOrcamento = linha.contadorOrcamento + 1;

                        dc.tb_cliente.AddOrUpdate(linha);
                        dc.SaveChanges();

                        var contadorOrcamentoCliente = Convert.ToInt32(linha.contadorOrcamento);
                        var codigo = sigla + "-ORC" + contadorOrcamentoCliente.ToString("00000") + "-" + DateTime.Now.ToString("yyyy") + "-ORC";
                        Orcamento.codigoOrcamento = codigo;

                        dc.tb_orcamento.AddOrUpdate(Orcamento);
                        dc.SaveChanges();

                        //var autoOsNova = Convert.ToInt32(Orcamento.autonumero);

                        transaction.Commit();

                        return(Orcamento);
                    }
                    transaction.Rollback();
                }
                return(null);
            }
        }
コード例 #5
0
        public string IncluirOrdemServico()
        {
            // Debug.WriteLine("------------------------------------------------- ");
            var mensagem = "";

            var autonumeroCliente = Convert.ToInt32(HttpContext.Current.Request.Form["autonumeroCliente"].ToString());
            var nomeCliente       = HttpContext.Current.Request.Form["nomeCliente"].ToString().Trim();
            var sigla             = HttpContext.Current.Request.Form["sigla"].ToString().Trim();
            var nomeUsuario       = HttpContext.Current.Request.Form["nomeUsuario"].ToString().Trim();
            var valor             = Convert.ToDecimal(HttpContext.Current.Request.Form["valor"].ToString().Trim());
            var nomeSistema       = HttpContext.Current.Request.Form["nomeSistema"].ToString().Trim();
            var autonumeroSistema = Convert.ToInt64(HttpContext.Current.Request.Form["autonumeroSistema"].ToString().Trim());
            // Debug.WriteLine("11111111111------------------------ ");

            var processo          = HttpContext.Current.Request.Form["processo"].ToString().Trim();
            var cap               = HttpContext.Current.Request.Form["cap"].ToString().Trim();
            var enderecoCliente   = HttpContext.Current.Request.Form["enderecoCliente"].ToString().Trim();
            var solicitante       = HttpContext.Current.Request.Form["solicitante"].ToString().Trim();
            var nomeItem          = HttpContext.Current.Request.Form["nomeItem"].ToString().Trim();
            var tipoAtendimento   = HttpContext.Current.Request.Form["tipoAtendimento"].ToString().Trim();
            var autonumeroServico = Convert.ToInt32(HttpContext.Current.Request.Form["autonumeroServico"].ToString());
            // Debug.WriteLine("222222222222222------------------------ ");

            var siglaItem     = HttpContext.Current.Request.Form["siglaItem"].ToString().Trim();
            var resumoServico = HttpContext.Current.Request.Form["resumoServico"].ToString().Trim();

            var quantidadeSS = Convert.ToInt32(HttpContext.Current.Request.Form["quantidadeSS"].ToString());
            var situacao     = HttpContext.Current.Request.Form["situacao"].ToString().Trim();
            var local        = HttpContext.Current.Request.Form["local"].ToString().Trim();
            //var etapa = HttpContext.Current.Request.Form["etapa"].ToString().Trim();
            //var medicao = HttpContext.Current.Request.Form["medicao"].ToString().Trim();
            var codigoOs       = HttpContext.Current.Request.Form["codigoOs"].ToString().Trim();
            var nroOsInformado = HttpContext.Current.Request.Form["nroOsInformado"].ToString().Trim();

            // Debug.WriteLine("333333333333------------------------ ");

            if (DataClienteController.IsDate(HttpContext.Current.Request.Form["dataInicio"].ToString()) &&
                DataClienteController.IsDate(HttpContext.Current.Request.Form["dataFim"].ToString()) &&
                DataClienteController.IsDate(HttpContext.Current.Request.Form["dataEmissao"].ToString()))
            {
                // Debug.WriteLine("44444444------------------------ ");
                var data11 = Convert.ToDateTime(HttpContext.Current.Request.Form["dataInicio"].ToString());
                var data22 = Convert.ToDateTime(HttpContext.Current.Request.Form["dataFim"].ToString());

                using (var dc = new manutEntities())
                {
                    // Debug.WriteLine("5555555555------------------------ ");
                    using (var transaction = dc.Database.BeginTransaction())
                    {
                        try
                        {
                            // Debug.WriteLine(" ------------------------------ dc.tb_cliente.Find(autonumeroCliente) ");
                            var linha = dc.tb_cliente.Find(autonumeroCliente); // sempre irá procurar pela chave primaria
                            if (linha != null)
                            {
                                linha.contadorOrdemServico = linha.contadorOrdemServico + 1;

                                dc.tb_cliente.AddOrUpdate(linha);
                                dc.SaveChanges();

                                var contadorOsCliente = Convert.ToInt32(linha.contadorOrdemServico);

                                if (!string.IsNullOrEmpty(nroOsInformado))
                                {
                                    contadorOsCliente = Convert.ToInt32(nroOsInformado);
                                }

                                var codigo = cap + "-" + contadorOsCliente.ToString("000") + "/" + Convert.ToDateTime(HttpContext.Current.Request.Form["dataEmissao"].ToString()).ToString("yy") + "-" + tipoAtendimento;

                                var k = new tb_ordemservico
                                {
                                    autonumeroCliente = autonumeroCliente,
                                    nomeCliente       = nomeCliente,
                                    sigla             = sigla,
                                    nomeUsuario       = nomeUsuario,
                                    dataEmissao       = Convert.ToDateTime(HttpContext.Current.Request.Form["dataEmissao"].ToString()),
                                    dataInicio        = Convert.ToDateTime(HttpContext.Current.Request.Form["dataInicio"].ToString()),
                                    dataFim           = Convert.ToDateTime(HttpContext.Current.Request.Form["dataFim"].ToString()),
                                    codigoOs          = codigo,
                                    cancelado         = "N",
                                    valor             = valor,
                                    nomeSistema       = nomeSistema,
                                    autonumeroSistema = autonumeroSistema,
                                    processo          = processo,
                                    cap             = cap,
                                    enderecoCliente = enderecoCliente,
                                    solicitante     = solicitante,
                                    nomeItem        = nomeItem,
                                    siglaItem       = siglaItem,
                                    resumoServico   = resumoServico,
                                    quantidadeSS    = quantidadeSS,
                                    situacao        = situacao,
                                    etapa           = "",
                                    medicao         = "",
                                    local           = local
                                };

                                dc.tb_ordemservico.Add(k);
                                dc.SaveChanges();
                                // Debug.WriteLine(" 9999999999999999");
                                var auto = Convert.ToInt64(k.autonumero);

                                if (k.valor > 0)
                                {
                                    // Debug.WriteLine(" ------------------------------- if (string.IsNullOrEmpty(codigoOs))");
                                    if (string.IsNullOrEmpty(codigoOs))
                                    {
                                        // Sistema !=  ORÇAMENTO pode ter mais de 1 S.S por O.S. -------------------------------------------------

                                        (from i in dc.tb_os_itens
                                         join p in dc.tb_os
                                         on i.codigoOs equals p.codigoOs
                                         where i.autonumeroCliente == autonumeroCliente && i.cancelado != "S" && p.cancelado != "S" &&
                                         i.autonumeroCliente == p.autonumeroCliente &&
                                         p.nomeStatus == "Fechada" && p.autonumeroSistema == autonumeroSistema && p.autonumeroServico == autonumeroServico &&
                                         p.dataTermino >= data11 && p.dataTermino <= data22
                                         select new
                                        {
                                            i,
                                            p
                                        }).ToList().ForEach(x =>
                                        {
                                            x.i.codigoOrdemServico = codigo;
                                            x.p.codigoOrdemServico = codigo;
                                        });

                                        // Debug.WriteLine("--------------------------- FIM - if (string.IsNullOrEmpty(codigoOs))");
                                    }
                                    else
                                    {
                                        // INICIO - Utilizado para que se tenha 1 S.S == 1 O.S ( quando o sistema for ORÇAMENTO ) ->  i.codigoOs == codigoOs -------------------------------------------------
                                        // Debug.WriteLine("------------------- (from i in dc.tb_os_itens");
                                        (from i in dc.tb_os_itens
                                         join p in dc.tb_os
                                         on i.codigoOs equals p.codigoOs
                                         where i.autonumeroCliente == autonumeroCliente && i.cancelado != "S" && p.cancelado != "S" &&
                                         i.autonumeroCliente == p.autonumeroCliente &&
                                         p.nomeStatus == "Fechada" && p.autonumeroSistema == autonumeroSistema && p.autonumeroServico == autonumeroServico &&
                                         p.dataTermino >= data11 && p.dataTermino <= data22 && p.codigoOs == codigoOs && i.codigoOs == codigoOs
                                         select new
                                        {
                                            i,
                                            p
                                        }).ToList().ForEach(x =>
                                        {
                                            x.i.codigoOrdemServico = codigo;
                                            x.p.codigoOrdemServico = codigo;
                                        });
                                        // FIM - Utilizado para que se tenha 1 S.S == 1 O.S ( quando o sistema for ORÇAMENTO ) ->  i.codigoOs == codigoOs ----------------------------------------------
                                        // Debug.WriteLine("---------------------FIM -  (from i in dc.tb_os_itens");
                                    }
                                }
                                else
                                {
                                    if (string.IsNullOrEmpty(codigoOs))
                                    {
                                        // Sistema !=  ORÇAMENTO pode ter mais de 1 S.S por O.S. -------------------------------------------------

                                        (from p in dc.tb_os
                                         where p.autonumeroCliente == autonumeroCliente && p.cancelado != "S" &&
                                         p.nomeStatus == "Fechada" && p.autonumeroSistema == autonumeroSistema && p.autonumeroServico == autonumeroServico &&
                                         p.dataTermino >= data11 && p.dataTermino <= data22
                                         select new
                                        {
                                            p
                                        }).ToList().ForEach(x =>
                                        {
                                            x.p.codigoOrdemServico = codigo;
                                        });
                                    }
                                    else
                                    {
                                        // INICIO - Utilizado para que se tenha 1 S.S == 1 O.S ( quando o sistema for ORÇAMENTO ) ->  i.codigoOs == codigoOs -------------------------------------------------

                                        (from p in dc.tb_os
                                         where p.autonumeroCliente == autonumeroCliente && p.cancelado != "S" &&
                                         p.nomeStatus == "Fechada" && p.autonumeroSistema == autonumeroSistema && p.autonumeroServico == autonumeroServico &&
                                         p.dataTermino >= data11 && p.dataTermino <= data22 && p.codigoOs == codigoOs
                                         select new
                                        {
                                            p
                                        }).ToList().ForEach(x =>
                                        {
                                            x.p.codigoOrdemServico = codigo;
                                        });
                                        // FIM - Utilizado para que se tenha 1 S.S == 1 O.S ( quando o sistema for ORÇAMENTO ) ->  i.codigoOs == codigoOs ----------------------------------------------
                                    }
                                }
                                // Debug.WriteLine("-----------------   dc.SaveChanges();");
                                dc.SaveChanges();

                                transaction.Commit();
                                return(auto.ToString());
                            }
                        }
                        catch (Exception ex)
                        {
                            transaction.Rollback();
                            mensagem = ex.Message.ToString();
                        }

                        return(mensagem);
                    }
                }
            }
            else
            {
                throw new ArgumentException("Execption");
            }
        }
コード例 #6
0
        public string CorrigirOrdemServico()
        {
            var c = 1;
            var autonumeroCliente = Convert.ToInt32(HttpContext.Current.Request.Form["autonumeroCliente"].ToString());
            var codigoOs          = HttpContext.Current.Request.Form["codigoOs"].ToString().Trim();
            var data11            = Convert.ToDateTime(HttpContext.Current.Request.Form["dataInicio"].ToString());
            var data22            = Convert.ToDateTime(HttpContext.Current.Request.Form["dataFim"].ToString());
            var autonumeroSistema = Convert.ToInt64(HttpContext.Current.Request.Form["autonumeroSistema"].ToString().Trim());

            var valor = Convert.ToDecimal(HttpContext.Current.Request.Form["valor"].ToString().Trim());

            var autonumeroServico = 2;

            if (codigoOs.Contains("P"))
            {
                autonumeroServico = 1;
            }

            using (var dc = new manutEntities())
            {
                var etapa   = string.Empty;
                var medicao = string.Empty;

                //Encontrar a Medição --------------------------
                var linha2 = dc.tb_medicao.FirstOrDefault(a => a.dataInicioMedicao == data11 && a.dataFimMedicao == data22 && a.autonumeroCliente == autonumeroCliente && a.cancelado != "S");
                if (linha2 != null)
                {
                    etapa   = linha2.etapa;
                    medicao = linha2.medicao;
                }
                //FIM - Encontrar a Medição --------------------------

                if (!string.IsNullOrEmpty(etapa) && !string.IsNullOrEmpty(medicao))
                {
                    (from i in dc.tb_os_itens
                     join p in dc.tb_os
                     on i.codigoOs equals p.codigoOs
                     where i.autonumeroCliente == autonumeroCliente && i.cancelado != "S" && p.cancelado != "S" &&
                     i.autonumeroCliente == p.autonumeroCliente &&
                     p.nomeStatus == "Fechada" && p.autonumeroSistema == autonumeroSistema && p.autonumeroServico == autonumeroServico &&
                     p.dataTermino >= data11 && p.dataTermino <= data22
                     select new
                    {
                        i,
                        p
                    }).ToList().ForEach(x =>
                    {
                        x.i.codigoOrdemServico = codigoOs;
                        x.p.codigoOrdemServico = codigoOs;
                        x.i.etapa   = etapa;
                        x.p.etapa   = etapa;
                        x.i.medicao = medicao;
                        x.p.medicao = medicao;
                    });

                    dc.SaveChanges();
                }

                var linha = dc.tb_ordemservico.FirstOrDefault(a => a.codigoOs == codigoOs && a.autonumeroCliente == autonumeroCliente && a.cancelado != "S");
                if (linha != null)
                {
                    linha.valor = valor;
                    dc.tb_ordemservico.AddOrUpdate(linha);
                    dc.SaveChanges();
                }

                return("");
            }
        }
コード例 #7
0
        public string CancelarOrdemServico()
        {
            var autonumero = Convert.ToInt32(HttpContext.Current.Request.Form["autonumero"]);

            using (var dc = new manutEntities())
            {
                using (var transaction = dc.Database.BeginTransaction())
                {
                    try
                    {
                        var codigoOs = string.Empty;
                        //var encontrouTb_ordemservico = false;
                        //var encontrouTb_os_itens = false;
                        //var encontrouTb_os = false;

                        var linha = dc.tb_ordemservico.Find(autonumero); // sempre irá procurar pela chave primaria
                        if (linha != null)
                        {
                            if (!string.IsNullOrEmpty(linha.etapa))
                            {
                                throw new ArgumentException("Erro: EXISTE Medição para esta ordem de serviço");
                            }
                            else
                            {
                                codigoOs = linha.codigoOs;

                                linha.cancelado = "S";
                                dc.tb_ordemservico.AddOrUpdate(linha);
                                dc.SaveChanges();

                                if (!string.IsNullOrEmpty(codigoOs))
                                {
                                    dc.tb_os_itens.Where(x => x.codigoOrdemServico == codigoOs).ToList().ForEach(x =>
                                    {
                                        x.codigoOrdemServico = "";
                                        x.etapa   = "";
                                        x.medicao = "";
                                    });
                                    dc.SaveChanges();
                                    dc.tb_os.Where(x => x.codigoOrdemServico == codigoOs).ToList().ForEach(x =>
                                    {
                                        x.codigoOrdemServico = "";
                                        x.etapa   = "";
                                        x.medicao = "";
                                    });
                                    dc.SaveChanges();
                                }
                                else
                                {
                                    throw new ArgumentException("Erro:  Não foi possível cancelar a ordem de serviço - Ordem de serviço não encontrada");
                                }
                            }
                        }
                        else
                        {
                            throw new ArgumentException("Erro:  Não foi possível cancelar a ordem de serviço - Ordem de serviço não encontrada");
                        }

                        transaction.Commit();
                        return(string.Empty);
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        return(ex.Message.ToString());
                    }
                }
            }
        }