public async Task Patch(string codemp, string codcon, string nrocon, int nroext, DateTime fechacierreot,
                                JsonPatchDocument patchDocument)
        {
            Cvmcth contrato = await Repository.RecuperaContrato(codemp, codcon, nrocon, nroext);

            if (contrato is null)
            {
                throw new NotFoundException("Contrato inexistente");
            }

            object nuevoEstado = patchDocument.Operations[0].value;

            Logger.Information($"Nuevo estado a asignar: {nuevoEstado}");

            ResultadoPatchContrato resultadoPatch = await Repository.Patch(contrato, fechacierreot, nuevoEstado.ToString());

            if (resultadoPatch.actualizado == "N")
            {
                throw new BadRequestException(resultadoPatch.errmsg);
            }
        }
示例#2
0
        public async Task <ResultadoPatchContrato> Patch(Cvmcth contrato, DateTime fechacierreot, string nuevoEstado)
        {
            string actualizado = "N";
            string errmsg      = "";


            using (SqlConnection sql = new SqlConnection(Connectionstring))
            {
                using (SqlCommand cmd = new SqlCommand("ALM_WS_CambioEstadoContrato", sql))
                {
                    cmd.CommandType = System.Data.CommandType.StoredProcedure;
                    cmd.Parameters.Add(new SqlParameter("@Codemp", contrato.CvmcthCodemp));
                    cmd.Parameters.Add(new SqlParameter("@Codcon", contrato.CvmcthCodcon));
                    cmd.Parameters.Add(new SqlParameter("@Nrocon", contrato.CvmcthNrocon));
                    cmd.Parameters.Add(new SqlParameter("@Nroext", contrato.CvmcthNroext));
                    cmd.Parameters.Add(new SqlParameter("@FchcieOT", fechacierreot));
                    cmd.Parameters.Add(new SqlParameter("@NewEst", nuevoEstado));

                    await sql.OpenAsync();

                    using (var reader = await cmd.ExecuteReaderAsync())
                    {
                        while (await reader.ReadAsync())
                        {
                            actualizado = (string)reader["actualizado"];
                            errmsg      = (string)reader["errmsg"];
                        }
                    }
                }
            }

            ResultadoPatchContrato resultado = new ResultadoPatchContrato();

            resultado.actualizado = actualizado;
            resultado.errmsg      = errmsg;
            return(resultado);
        }